From 46d3c295fb18846b00949b818b46a7a112e5b548 Mon Sep 17 00:00:00 2001 From: Shay Banon Date: Sun, 3 Nov 2013 02:15:50 +0100 Subject: [PATCH] URI routing parameter does not work with Bulk API closes #4053 --- .../java/org/elasticsearch/action/bulk/BulkProcessor.java | 2 +- .../java/org/elasticsearch/action/bulk/BulkRequest.java | 8 ++++---- .../elasticsearch/rest/action/bulk/RestBulkAction.java | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/elasticsearch/action/bulk/BulkProcessor.java b/src/main/java/org/elasticsearch/action/bulk/BulkProcessor.java index 8b5dd971b504f..b8fb83a02c803 100644 --- a/src/main/java/org/elasticsearch/action/bulk/BulkProcessor.java +++ b/src/main/java/org/elasticsearch/action/bulk/BulkProcessor.java @@ -245,7 +245,7 @@ public BulkProcessor add(BytesReference data, boolean contentUnsafe, @Nullable S } public synchronized BulkProcessor add(BytesReference data, boolean contentUnsafe, @Nullable String defaultIndex, @Nullable String defaultType, @Nullable Object payload) throws Exception { - bulkRequest.add(data, contentUnsafe, defaultIndex, defaultType, payload, true); + bulkRequest.add(data, contentUnsafe, defaultIndex, defaultType, null, payload, true); executeIfNeeded(); return this; } diff --git a/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java b/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java index 11dfea878658a..8b286db1ee338 100644 --- a/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java +++ b/src/main/java/org/elasticsearch/action/bulk/BulkRequest.java @@ -234,17 +234,17 @@ public BulkRequest add(byte[] data, int from, int length, boolean contentUnsafe, * Adds a framed data in binary format */ public BulkRequest add(BytesReference data, boolean contentUnsafe, @Nullable String defaultIndex, @Nullable String defaultType) throws Exception { - return add(data, contentUnsafe, defaultIndex, defaultType, null, true); + return add(data, contentUnsafe, defaultIndex, defaultType, null, null, true); } /** * Adds a framed data in binary format */ public BulkRequest add(BytesReference data, boolean contentUnsafe, @Nullable String defaultIndex, @Nullable String defaultType, boolean allowExplicitIndex) throws Exception { - return add(data, contentUnsafe, defaultIndex, defaultType, null, allowExplicitIndex); + return add(data, contentUnsafe, defaultIndex, defaultType, null, null, allowExplicitIndex); } - public BulkRequest add(BytesReference data, boolean contentUnsafe, @Nullable String defaultIndex, @Nullable String defaultType, @Nullable Object payload, boolean allowExplicitIndex) throws Exception { + public BulkRequest add(BytesReference data, boolean contentUnsafe, @Nullable String defaultIndex, @Nullable String defaultType, @Nullable String defaultRouting, @Nullable Object payload, boolean allowExplicitIndex) throws Exception { XContent xContent = XContentFactory.xContent(data); int from = 0; int length = data.length(); @@ -275,7 +275,7 @@ public BulkRequest add(BytesReference data, boolean contentUnsafe, @Nullable Str String index = defaultIndex; String type = defaultType; String id = null; - String routing = null; + String routing = defaultRouting; String parent = null; String timestamp = null; Long ttl = null; diff --git a/src/main/java/org/elasticsearch/rest/action/bulk/RestBulkAction.java b/src/main/java/org/elasticsearch/rest/action/bulk/RestBulkAction.java index c093f62e2ac81..8e5c5ee31e247 100644 --- a/src/main/java/org/elasticsearch/rest/action/bulk/RestBulkAction.java +++ b/src/main/java/org/elasticsearch/rest/action/bulk/RestBulkAction.java @@ -76,6 +76,7 @@ public void handleRequest(final RestRequest request, final RestChannel channel) bulkRequest.listenerThreaded(false); String defaultIndex = request.param("index"); String defaultType = request.param("type"); + String defaultRouting = request.param("routing"); String replicationType = request.param("replication"); if (replicationType != null) { @@ -87,7 +88,7 @@ public void handleRequest(final RestRequest request, final RestChannel channel) } bulkRequest.refresh(request.paramAsBoolean("refresh", bulkRequest.refresh())); try { - bulkRequest.add(request.content(), request.contentUnsafe(), defaultIndex, defaultType, allowExplicitIndex); + bulkRequest.add(request.content(), request.contentUnsafe(), defaultIndex, defaultType, defaultRouting, null, allowExplicitIndex); } catch (Exception e) { try { XContentBuilder builder = restContentBuilder(request);