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

Good to hear. That seems odd though. We do some distributed locking using zookeeper for certain catalog operations - possibly things were timing out with so many data stores. Probably not worth investigating further, but if you have any more details on what was going wrong we could take a look.

Thanks,

Emilio

On 04/10/2017 12:09 PM, David Boyd wrote:
Emilio, and Jim:

Thanks for the feedback. I think it was just too many datastores getting created. I consolidated everything to use a single one and everything has been working fine. I say it was too many, as I would comment out one test and things would work.


On 4/10/17 2:57 PM, Emilio Lahr-Vivaz wrote:
In particular, make sure you're not re-using a data store after calling 'dispose()' on it.

Thanks,

Emilio

On 04/08/2017 01:46 PM, Jim Hughes wrote:
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)


_______________________________________________
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

_______________________________________________
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




Back to the top