Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-users] GEOMESA Illegal state exception when creating schema

Hi David,

Let's see... that exception is happening because the BatchWriter is already closed. My quick guess is that your unit test suite is running in parallel and a BatchWriter is being shared somewhere. As quick fix for the unit test would be to run the various test sequentially.

If that's not it or if the unit test is reflecting typical use, then you'll want to run down the sharing. It could be happening in the GeoMesa libraries or in your application. If it is in GeoMesa, it'd definitely help to identify a minimal code example to re-create the bug.

I hope that helps!

Cheers,

Jim

On 4/8/2017 12:33 PM, David Boyd wrote:
All:

This one has me stumped. Now this basic code has been working for some time, and I have successfully created
multiple schemas and searched those.

Any thoughts on what would cause this?

This is happening in one of my integration tests.

Geomesa 1.3.1 and Accumulo 1.7.2

java.lang.IllegalStateException: Closed
at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.addMutation(TabletServerBatchWriter.java:248) at org.apache.accumulo.core.client.impl.BatchWriterImpl.addMutation(BatchWriterImpl.java:43) at org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$$anonfun$write$1.apply(AccumuloBackedMetadata.scala:47) at org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$$anonfun$write$1.apply(AccumuloBackedMetadata.scala:44) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) at org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$class.write(AccumuloBackedMetadata.scala:44) at org.locationtech.geomesa.accumulo.data.AccumuloBackedMetadata.write(AccumuloBackedMetadata.scala:22) at org.locationtech.geomesa.index.metadata.CachedLazyMetadata$class.insert(CachedLazyMetadata.scala:82) at org.locationtech.geomesa.accumulo.data.AccumuloBackedMetadata.insert(AccumuloBackedMetadata.scala:22) at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.writeMetadata(GeoMesaDataStore.scala:523) at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.createSchema(GeoMesaDataStore.scala:144) at org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:128) at org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:48) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.createFeatureSet(AccumuloPersistor.java:691) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.createSearchTables(AccumuloPersistor.java:620) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.saveTemplate(AccumuloPersistor.java:542) at com.incadencecorp.coalesce.framework.persistance.CoalescePersistorBase.saveTemplate(CoalescePersistorBase.java:239) at com.incadencecorp.coalesce.framework.CoalesceFramework.saveCoalesceEntityTemplate(CoalesceFramework.java:540) at com.incadencecorp.coalesce.framework.persistance.accumulo.AbstractAccumuloPersistorTest.testPersistRetrieveSearchEntity(AbstractAccumuloPersistorTest.java:357)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)




Back to the top