Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[geomesa-users] ArrayIndexOutOfBoundException in AttributeWriter

Title: Default Disclaimer Daimler AG

Dear Geomesa support,

 

we currently run Geomesa in a Filesystem (FS) environment on a S3 bucket store using

 

·         Geomesa 2.2.0

·         Geomesa FS 2.11 data store (parquet storage)

 

On request, geo-referenced data is written to the data store. The corresponding GeoMesaFeatureWriter is instantiated using getFeatureWriteAppend.

 

After a while – especially in case when the number of requests increase - it happens that we receive an ArrayIndexOutOfBoundsException, in detail

 

Apr 24, 2019 7:10:03 AM org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2] with root cause

java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2

     at org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.addLong(MessageColumnIO.java:443)

     at org.locationtech.geomesa.parquet.AttributeWriter$LongWriter.write(AttributeWriter.scala:113)

     at org.locationtech.geomesa.parquet.AttributeWriter$AbstractAttributeWriter.apply(AttributeWriter.scala:67)

     at org.locationtech.geomesa.parquet.jobs.SimpleFeatureWriteSupport.writeFields(SimpleFeatureWriteSupport.scala:58)

     at org.locationtech.geomesa.parquet.jobs.SimpleFeatureWriteSupport.write(SimpleFeatureWriteSupport.scala:43)

     at org.locationtech.geomesa.parquet.jobs.SimpleFeatureWriteSupport.write(SimpleFeatureWriteSupport.scala:21)

     at org.apache.parquet.hadoop.InternalParquetRecordWriter.write(InternalParquetRecordWriter.java:123)

     at org.apache.parquet.hadoop.ParquetWriter.write(ParquetWriter.java:292)

     at org.locationtech.geomesa.parquet.ParquetFileSystemStorage$ParquetFileSystemWriter.write(ParquetFileSystemStorage.scala:86)

     at org.locationtech.geomesa.parquet.ParquetFileSystemStorage$$anon$1.org$locationtech$geomesa$fs$storage$common$MetadataObservingFileSystemWriter$$super$write(ParquetFileSystemStorage.scala:39)

     at org.locationtech.geomesa.fs.storage.common.MetadataObservingFileSystemWriter$class.write(MetadataObservingFileSystemWriter.scala:24)

     at org.locationtech.geomesa.parquet.ParquetFileSystemStorage$$anon$1.write(ParquetFileSystemStorage.scala:39)

     at org.locationtech.geomesa.fs.FileSystemFeatureStore$$anon$1.write(FileSystemFeatureStore.scala:75)

     at org.geotools.data.store.EventContentFeatureWriter.write(EventContentFeatureWriter.java:122)

     at org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:304)

     at com.athena.vcc.geomesaservice.geomesa.datastore.GeoMesaFeatureWriter.write(GeoMesaFeatureWriter.java:81)

     at com.athena.vcc.geomesaservice.geomesa.datastore.GeoMesaFileSystemDataStore.insert(GeoMesaFileSystemDataStore.java:130)

     at com.athena.vcc.geomesaservice.geomesa.GeoMesaFacade.saveNetworkPerformanceEvents(GeoMesaFacade.java:72)

     at com.athena.vcc.geomesaservice.rest.StorageController.saveNetworkPerformanceEvents(StorageController.java:80)

     at jdk.internal.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)

     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

     at java.base/java.lang.reflect.Method.invoke(Method.java:566)

     at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)

     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)

     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)

     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)

     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)

     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)

     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)

     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)

     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)

     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)

     at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117)

     at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)

     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)

     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)

     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)

     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)

     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)

     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)

     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)

     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

     at java.base/java.lang.Thread.run(Thread.java:834)

 

From this point every call to the storage wirte fails according the exception above. However from time to time the behaviour recovers itself until the next period of above exception.

 

Did you already see this issue before or do you have any ideas how isolate the issue? Any suggestions are welcome.

 

Thank you and best regards

Siegmar Züfle

Daimler AG
RD/AFC

Onboard Crowd Functions for Automated Driving
HPC: 059-G006

Gebäude 738, Zimmer 3.132

Hanns-Klemm-Str. 45
D-71034 Böblingen

email: siegmar.zuefle@xxxxxxxxxxx

 


If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


Back to the top