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.
          
          
              
              
          _______________________________________________
          geomesa-users mailing list
          geomesa-users@xxxxxxxxxxxxxxxx
          To change your delivery options, retrieve your password, or unsubscribe from this list, visit
          https://dev.locationtech.org/mailman/listinfo/geomesa-users