kylefernandadams / box-elastic-events

The Box Elastic Events project is an open source data pipeline framework to pull Box Events and persist them to Elasticsearch.
Apache License 2.0
2 stars 1 forks source link

source.item_name contains illegal characters #1

Open kylefernandadams opened 7 years ago

kylefernandadams commented 7 years ago

Need to escape illegal characters in the source.item_name string that is causing the ES doc creation to fail.

kylefernandadams commented 7 years ago

Example of the exception:

2017-03-03 17:37:48,116 ERROR com.box.platform.producer.ElasticsearchProducer - Failed to create search doc
org.elasticsearch.client.ResponseException: POST http://127.0.0.1:9200/box/enterprise/: HTTP/1.1 400 Bad Request
{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse [source.item_name]"}],"type":"mapper_parsing_exception","reason":"failed to parse [source.item_name]","caused_by":{"type":"json_parse_exception","reason":"Invalid UTF-8 start byte 0xae\n at [Source: org.elasticsearch.common.bytes.BytesReference$MarkSupportingStreamInputWrapper@25370f4f; line: 1, column: 263]"}},"status":400}
    at org.elasticsearch.client.RestClient$1.completed(RestClient.java:311)
    at org.elasticsearch.client.RestClient$1.completed(RestClient.java:300)
    at org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
    at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:177)
    at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:436)
    at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:326)
    at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
    at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
    at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
    at java.lang.Thread.run(Thread.java:745)