Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid Root Table Metadata JSON version 2 #126

Open
DomGarguilo opened this issue Dec 1, 2023 · 1 comment
Open

Invalid Root Table Metadata JSON version 2 #126

DomGarguilo opened this issue Dec 1, 2023 · 1 comment
Labels

Comments

@DomGarguilo
Copy link
Member

I am unable to run any of the example code due to this exception.

I am running accumulo 3.1.0-SNAPSHOT via fluo-uno. I am able to manually interact with the instance via the shell however it seems that every attempt to make mutations from the example code results in this exception being thrown.

❯ ./bin/runex sample.SampleExample                                                                                                                                                                                                                          ⏎
2023-12-01T16:06:23,712 [examples.Common] INFO : Namespace already exists. User can ignore this message and continue. Namespace: examples
2023-12-01T16:06:23,917 [examples.Common] WARN : Table already exists. User may wish to delete existing table and re-run example. Table name: examples.sampex
2023-12-01T16:06:24,016 [clientImpl.TabletServerBatchWriter] ERROR: Error processing mutation set
java.lang.IllegalArgumentException: Invalid Root Table Metadata JSON version 2
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.RootTabletMetadata.<init>(RootTabletMetadata.java:112) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.RootTabletMetadata.<init>(RootTabletMetadata.java:107) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.TabletsMetadata.getRootMetadata(TabletsMetadata.java:610) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.TabletsMetadata.getRootMetadata(TabletsMetadata.java:590) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.TabletsMetadata$Builder.build(TabletsMetadata.java:133) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.metadata.schema.AmpleImpl.readTablet(AmpleImpl.java:47) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.RootTabletLocator.getRootTabletLocation(RootTabletLocator.java:112) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.RootTabletLocator.locateTablet(RootTabletLocator.java:136) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:534) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:717) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:702) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:506) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:534) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:717) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:707) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.binMutations(TabletLocatorImpl.java:223) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.SyncingTabletLocator.binMutations(SyncingTabletLocator.java:76) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TimeoutTabletLocator.binMutations(TimeoutTabletLocator.java:86) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.binMutations(TabletServerBatchWriter.java:705) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.addMutations(TabletServerBatchWriter.java:756) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.lambda$queueMutations$0(TabletServerBatchWriter.java:744) ~[accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52) [accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52) [accumulo-examples-shaded.jar:3.0.0-SNAPSHOT]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Exception in thread "main" org.apache.accumulo.core.client.MutationsRejectedException: # constraint violations : 0  security codes: {}  # server errors 0 # exceptions 1
	at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter.checkForFailures(TabletServerBatchWriter.java:578)
	at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter.flush(TabletServerBatchWriter.java:350)
	at org.apache.accumulo.core.clientImpl.BatchWriterImpl.flush(BatchWriterImpl.java:63)
	at org.apache.accumulo.examples.sample.SampleExample.main(SampleExample.java:82)
	Suppressed: org.apache.accumulo.core.client.MutationsRejectedException: # constraint violations : 0  security codes: {}  # server errors 0 # exceptions 1
		at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter.checkForFailures(TabletServerBatchWriter.java:578)
		at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:376)
		at org.apache.accumulo.core.clientImpl.BatchWriterImpl.close(BatchWriterImpl.java:58)
		at org.apache.accumulo.examples.sample.SampleExample.main(SampleExample.java:73)
	Caused by: java.lang.IllegalArgumentException: Invalid Root Table Metadata JSON version 2
		at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191)
		at org.apache.accumulo.core.metadata.schema.RootTabletMetadata.<init>(RootTabletMetadata.java:112)
		at org.apache.accumulo.core.metadata.schema.RootTabletMetadata.<init>(RootTabletMetadata.java:107)
		at org.apache.accumulo.core.metadata.schema.TabletsMetadata.getRootMetadata(TabletsMetadata.java:610)
		at org.apache.accumulo.core.metadata.schema.TabletsMetadata.getRootMetadata(TabletsMetadata.java:590)
		at org.apache.accumulo.core.metadata.schema.TabletsMetadata$Builder.build(TabletsMetadata.java:133)
		at org.apache.accumulo.core.metadata.schema.AmpleImpl.readTablet(AmpleImpl.java:47)
		at org.apache.accumulo.core.clientImpl.RootTabletLocator.getRootTabletLocation(RootTabletLocator.java:112)
		at org.apache.accumulo.core.clientImpl.RootTabletLocator.locateTablet(RootTabletLocator.java:136)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:534)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:717)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:702)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.locateTablet(TabletLocatorImpl.java:506)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocation(TabletLocatorImpl.java:534)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.lookupTabletLocationAndCheckLock(TabletLocatorImpl.java:717)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl._locateTablet(TabletLocatorImpl.java:707)
		at org.apache.accumulo.core.clientImpl.TabletLocatorImpl.binMutations(TabletLocatorImpl.java:223)
		at org.apache.accumulo.core.clientImpl.SyncingTabletLocator.binMutations(SyncingTabletLocator.java:76)
		at org.apache.accumulo.core.clientImpl.TimeoutTabletLocator.binMutations(TimeoutTabletLocator.java:86)
		at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.binMutations(TabletServerBatchWriter.java:705)
		at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.addMutations(TabletServerBatchWriter.java:756)
		at org.apache.accumulo.core.clientImpl.TabletServerBatchWriter$MutationWriter.lambda$queueMutations$0(TabletServerBatchWriter.java:744)
		at org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
		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.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
		at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: [CIRCULAR REFERENCE: java.lang.IllegalArgumentException: Invalid Root Table Metadata JSON version 2]

@DomGarguilo DomGarguilo added the bug label Dec 1, 2023
@EdColeman
Copy link

The version was removed as part of apache/accumulo#3988. I've been running in uno without issues. I've not run that specific example, but I can create tables, add data, merge and dump zookeeper, root and metadata tables. (In case this helps narrow down the possibilities)

Are you starting with a clean build and a clean uno instance? It may be that if you had root / metadata from earlier commit, the version 2 could have been written and then running from a commit after #3988, there likely would be issues.

You might want to try uno wipe and see if that helps?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants