Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save efurman/c1400655e0d8728cac49 to your computer and use it in GitHub Desktop.
Save efurman/c1400655e0d8728cac49 to your computer and use it in GitHub Desktop.
package com.edmunds.training.real_time_logger;
import java.io.IOException;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.client.action.bulk.BulkRequestBuilder;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
public class BulkProcessorTest {
/**
* @param args
*/
public static void main(String[] args) {
try {
Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
XContentBuilder builder = XContentFactory.jsonBuilder().startObject();
builder.field("firstname", "John");
builder.field("lastname", "Lee");
builder.endObject();
XContentBuilder builder2 = XContentFactory.jsonBuilder().startObject();
builder2.field("firstname", "Rick");
builder2.field("lastname", "Hammer");
builder2.endObject();
BulkRequestBuilder request = client.prepareBulk();
request.add(Requests.indexRequest("testindex").type("my_type")
.source(builder));
request.add(Requests.indexRequest("testindex").type("my_type")
.source(builder2));
BulkResponse response = request.execute().actionGet();
if (response.hasFailures()) {
System.out.println("Bulk request failed");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.edmunds.training.real_time_logger;
import java.io.IOException;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.client.action.bulk.BulkRequestBuilder;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
public class BulkProcessorTest {
/**
* @param args
*/
public static void main(String[] args) {
try {
Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
XContentBuilder builder = XContentFactory.jsonBuilder().startObject();
builder.field("firstname", "John");
builder.field("lastname", "Smith");
builder.endObject();
builder.startObject();
builder.field("firstname", "Tomas");
builder.field("lastname", "Jane");
builder.endObject();
BulkRequestBuilder request = client.prepareBulk();
request.add(Requests.indexRequest("testindex").type("my_type")
.source(builder));
BulkResponse response = request.execute().actionGet();
if (response.hasFailures()) {
System.out.println("Bulk request failed");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@efurman
Copy link
Author

efurman commented Apr 13, 2011

I posted two versions of BulkProcessorTest.java. When I run the version that fails (it creates two separate XContenBuilder's), I am getting the following exception when executing the line "BulkResponse response = request.execute().actionGet();":

Failed to process bulk - [Tigra][inet[/10.32.40.17:9300]][indices/bulk]
org.elasticsearch.transport.RemoteTransportException: [Tigra][inet[/10.32.40.17:9300]][indices/bulk]
Caused by: java.io.EOFException
at org.elasticsearch.common.io.stream.LZFStreamInput.readBytes(LZFStreamInput.java:97)
at org.elasticsearch.common.io.stream.StreamInput.readUTF(StreamInput.java:123)
at org.elasticsearch.common.io.stream.HandlesStreamInput.readUTF(HandlesStreamInput.java:49)
at org.elasticsearch.action.support.replication.ShardReplicationOperationRequest.readFrom(ShardReplicationOperationRequest.java:132)
at org.elasticsearch.action.index.IndexRequest.readFrom(IndexRequest.java:573)
at org.elasticsearch.action.bulk.BulkRequest.readFrom(BulkRequest.java:261)
at org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(MessageChannelHandler.java:180)
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:85)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:302)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:51)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:274)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:261)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment