Bug Report For ElasticSearch 0.15.0 ( JsonParseException: Invalid shared name reference )


(Abdurrahim Eke) #1

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on : https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can find the test java code , test output and elastic
search configuration on : https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Shay Banon) #2

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on : https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can find the test java code , test output and elastic
search configuration on : https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Shay Banon) #3

Here is the issue in jackson: http://jira.codehaus.org/browse/JACKSON-525.
On Thursday, March 3, 2011 at 8:31 PM, Shay Banon wrote:

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on : https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can finnd the test java code , test output and elastic
search configuration on : https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Abdurrahim Eke) #4

Hi Shay,

Thanks for the fast response, it seems that the issue is fixed on
Jackson side.
I wonder if the fix will be included in the next version of
ElasticSearch or later.

Regards,

On Mar 3, 9:28 pm, Shay Banon shay.ba...@elasticsearch.com wrote:

Here is the issue in jackson:http://jira.codehaus.org/browse/JACKSON-525.

On Thursday, March 3, 2011 at 8:31 PM, Shay Banon wrote:

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on :https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can finnd the test java code , test output and elastic
search configuration on :https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Shay Banon) #5

Yes, once jackson 1.7.4 is released, then both 0.15 branch and master will be updated with it.
On Friday, March 4, 2011 at 9:09 AM, Abdurrahim Eke wrote:

Hi Shay,

Thanks for the fast response, it seems that the issue is fixed on
Jackson side.
I wonder if the fix will be included in the next version of
ElasticSearch or later.

Regards,

On Mar 3, 9:28 pm, Shay Banon shay.ba...@elasticsearch.com wrote:

Here is the issue in jackson:http://jira.codehaus.org/browse/JACKSON-525.

On Thursday, March 3, 2011 at 8:31 PM, Shay Banon wrote:

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on :https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can finnd the test java code , test output and elastic
search configuration on :https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Shay Banon) #6

Heya,

Jackson 1.7.4 was released, updated both master and 0.15 branch to it. 0.15.2 will be out early next week.

-shay.banon
On Friday, March 4, 2011 at 5:47 PM, Shay Banon wrote:

Yes, once jackson 1.7.4 is released, then both 0.15 branch and master will be updated with it.
On Friday, March 4, 2011 at 9:09 AM, Abdurrahim Eke wrote:

Hi Shay,

Thanks for the fast response, it seems that the issue is fixed on
Jackson side.
I wonder if the fix will be included in the next version of
ElasticSearch or later.

Regards,

On Mar 3, 9:28 pm, Shay Banon shay.ba...@elasticsearch.com wrote:

Here is the issue in jackson:http://jira.codehaus.org/browse/JACKSON-525.

On Thursday, March 3, 2011 at 8:31 PM, Shay Banon wrote:

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on :https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can finnd the test java code , test output and elastic
search configuration on :https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(Abdurrahim Eke) #7

Hi Shay,

I confirm that both the unit tests and the real scenario runs
successfully now, no sign of the bug exists.

Many thanks,
Abdurrahim Eke,
iFountain.com

On Mar 5, 10:47 am, Shay Banon shay.ba...@elasticsearch.com wrote:

Heya,

Jackson 1.7.4 was released, updated both master and 0.15 branch to it. 0.15.2 will be out early next week.

-shay.banon

On Friday, March 4, 2011 at 5:47 PM, Shay Banon wrote:

Yes, once jackson 1.7.4 is released, then both 0.15 branch and master will be updated with it.
On Friday, March 4, 2011 at 9:09 AM, Abdurrahim Eke wrote:

Hi Shay,

Thanks for the fast response, it seems that the issue is fixed on
Jackson side.
I wonder if the fix will be included in the next version of
ElasticSearch or later.

Regards,

On Mar 3, 9:28 pm, Shay Banon shay.ba...@elasticsearch.com wrote:

Here is the issue in jackson:http://jira.codehaus.org/browse/JACKSON-525.

On Thursday, March 3, 2011 at 8:31 PM, Shay Banon wrote:

Indeed!, very interesting... . I managed to extract a pure test case that shows the Jackson bug when using Smile format. I will talk to Tatu and report back.
On Thursday, March 3, 2011 at 11:36 AM, Abdurrahim Eke wrote:

Hi,

I have found an interesting bug during importing data from a database
to ElasticSearch.

We are using java api to create indexes and index data on
ElasticSearch,

The implemented , re-creatable test scenario is as follows :
You can find the test java code , test output and elastic search
configuration on :https://gist.github.com/852536

With fresh ElasticSearch 0.15.0 server , with no old data , no old
logs

  1. axios_views index is created ( with default configuration of es
    api , we don't add any configuration )
  2. following index operations are done in order:
    2.a index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.b index to type leo_cities props {prop_0=a} ( total 1 props )
    2.c index to type leo_airports props {prop_0=a, prop_1=a, ... ,
    prop_63=aa , prop_64=a} ( total 65 props )
    2.d index to type leo_cities props {prop_0=a} ( total 1 props )
  3. All 2.a , 2.b , 2.c index operations are done successfully, but
    when 2.d index operation is done following error occurs :

...
Caused by: org.elasticsearch.common.jackson.JsonParseException:
Invalid shared name reference 17; only got 0 names in buffer (invalid
content)
at [Source: [B@17b6643; line: 1, column: 7]
at
org.elasticsearch.common.jackson.JsonParser._constructError(JsonParser.java:
1213)
at

Important notes :
Note 1 . The error does not occur if 64 props is indexed to
leo_airports type, 1 prop indexed to leo_cities type
Note 2 . The error does not occur if 65 props is indexed to
leo_airports type, 65 props indexed to leo_cities type
Note 3 . The error does not occur if leo_cities uses different prop
name , sample : b_prop_0:a
Note 4. The error does not occur if 2.c index is not done
Note 5. The error does not occur with ElasticSearch 0.14.4 , 0.14.2
Note 6. The error occurs with ElasticSearch 0.15.0, 0.15.1
Note 7. You can finnd the test java code , test output and elastic
search configuration on :https://gist.github.com/852536

This is one of the most interesting bugs I have found :slight_smile:

Regards,
Abdurrahim Eke
iFountain.com


(system) #8