keith-ratcliffe opened a new issue #2341: URL: https://github.com/apache/accumulo/issues/2341
Discovered this while testing DataWave on 2.1.0-SNAPSHOT (5f20e386).... Minor compactions are failing as a result of `ClassCastException`, as shown below, which arises from a `deepCopy` call in this [DataWave iterator](https://github.com/NationalSecurityAgency/datawave/blob/feature/accumulo-2.0/warehouse/ingest-core/src/main/java/datawave/iterators/PropogatingIterator.java#L285), which is configured for all scopes on the given table I note that [org.apache.accumulo.core.iterators.SortedMapIterator](https://github.com/apache/accumulo/blob/main/core/src/main/java/org/apache/accumulo/core/iterators/SortedMapIterator.java) no longer implements `InterruptibleIterator` as in previous versions. That appears to explain the issue, but perhaps there's a workaround or something we're doing in DW that no longer makes sense for 2.1.x(?) ``` [compaction.FileCompactor] ERROR: class org.apache.accumulo.core.iterators.SortedMapIterator cannot be cast to class org.apache.accumulo.core.iteratorsImpl.system.InterruptibleIterator (org.apache.accumulo.core.iterators.SortedMapIterator and org.apache.accumulo.core.iteratorsImpl.system.InterruptibleIterator are in unnamed module of loader 'app') java.lang.ClassCastException: class org.apache.accumulo.core.iterators.SortedMapIterator cannot be cast to class org.apache.accumulo.core.iteratorsImpl.system.InterruptibleIterator (org.apache.accumulo.core.iterators.SortedMapIterator and org.apache.accumulo.core.iteratorsImpl.system.InterruptibleIterator are in unnamed module of loader 'app') at org.apache.accumulo.core.iteratorsImpl.system.LocalityGroupIterator$LocalityGroup.<init>(LocalityGroupIterator.java:48) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.LocalityGroupIterator.deepCopy(LocalityGroupIterator.java:307) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.MultiIterator.<init>(MultiIterator.java:54) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.MultiIterator.deepCopy(MultiIterator.java:46) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.MultiIterator.deepCopy(MultiIterator.java:38) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.server.compaction.CountingIterator.<init>(CountingIterator.java:44) ~[accumulo-server-base-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.server.compaction.CountingIterator.deepCopy(CountingIterator.java:40) ~[accumulo-server-base-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.server.compaction.CountingIterator.deepCopy(CountingIterator.java:32) ~[accumulo-server-base-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.DeletingIterator.<init>(DeletingIterator.java:51) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.DeletingIterator.deepCopy(DeletingIterator.java:47) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.DeletingIterator.deepCopy(DeletingIterator.java:37) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.iteratorsImpl.system.ColumnFamilySkippingIterator.deepCopy(ColumnFamilySkippingIterator.java:107) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at datawave.iterators.PropogatingIterator.init(PropogatingIterator.java:285) ~[?:?] at org.apache.accumulo.core.conf.IterConfigUtil.loadIterators(IterConfigUtil.java:221) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.core.conf.IterConfigUtil.convertItersAndLoad(IterConfigUtil.java:188) ~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.server.compaction.FileCompactor.compactLocalityGroup(FileCompactor.java:359) ~[accumulo-server-base-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.server.compaction.FileCompactor.call(FileCompactor.java:222) ~[accumulo-server-base-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.tablet.MinorCompactor.call(MinorCompactor.java:97) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:800) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.tablet.MinorCompactionTask.run(MinorCompactionTask.java:99) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.tablet.Tablet.minorCompactNow(Tablet.java:933) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.AssignmentHandler.run(AssignmentHandler.java:174) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.accumulo.tserver.ActiveAssignmentRunnable.run(ActiveAssignmentRunnable.java:63) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT] at org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57) ~[htrace-core-3.2.0-incubating.jar:3.2.0-incubating] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:829) [?:?] 2021-10-28T18:29:47,925 [tablet.MinorCompactor] WARN : MinC failed .... ``` **And here's the table config...** ``` config -t datawave.shard -np -----------+---------------------------------------------+---------------------------------------------------------------- SCOPE | NAME | VALUE -----------+---------------------------------------------+---------------------------------------------------------------- default | table.balancer ............................ | org.apache.accumulo.core.spi.balancer.SimpleLoadBalancer table | @override .............................. | datawave.ingest.table.balancer.ShardedTableTabletBalancer default | table.bloom.enabled ....................... | false default | table.bloom.error.rate .................... | 0.5% default | table.bloom.hash.type ..................... | murmur default | table.bloom.key.functor ................... | org.apache.accumulo.core.file.keyfunctor.RowFunctor default | table.bloom.load.threshold ................ | 1 default | table.bloom.size .......................... | 1048576 default | table.bulk.max.tablets .................... | 0 default | table.cache.block.enable .................. | false default | table.cache.index.enable .................. | true default | table.class.loader.context ................ | ## From my accumulo.properties: system | @override .............................. | extlib ## general.vfs.context.classpath.extlib=file://${ACCUMULO_HOME}/lib/ext/.*.jar" default | table.classpath.context ................... | default | table.compaction.configurer ............... | default | table.compaction.dispatcher ............... | org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher default | table.compaction.major.everything.idle .... | 1h default | table.compaction.major.ratio .............. | 3 default | table.compaction.minor.idle ............... | 5m default | table.compaction.minor.logs.threshold ..... | 3 default | table.compaction.selection.expiration.ms .. | 2m default | table.compaction.selector ................. | table | table.constraint.1 ........................ | org.apache.accumulo.core.constraints.DefaultKeySizeConstraint default | table.durability .......................... | sync default | table.failures.ignore ..................... | false default | table.file.blocksize ...................... | 0B default | table.file.compress.blocksize ............. | 100k default | table.file.compress.blocksize.index ....... | 128k default | table.file.compress.type .................. | gz default | table.file.max ............................ | 15 default | table.file.replication .................... | 0 default | table.file.summary.maxSize ................ | 256k default | table.file.type ........................... | rf default | table.formatter ........................... | org.apache.accumulo.core.util.format.DefaultFormatter table | table.group.fullcontent ................... | d table | table.group.termfrequency ................. | tf default | table.groups.enabled ...................... | table | @override .............................. | termfrequency,fullcontent default | table.interepreter ........................ | org.apache.accumulo.core.util.interpret.DefaultScanInterpreter table | table.iterator.majc.agg ................... | 10,datawave.iterators.PropogatingIterator table | table.iterator.majc.agg.opt.tf ............ | datawave.ingest.table.aggregator.TextIndexAggregator table | table.iterator.majc.vers .................. | 20,org.apache.accumulo.core.iterators.user.VersioningIterator table | table.iterator.majc.vers.opt.maxVersions .. | 1 table | table.iterator.minc.agg ................... | 10,datawave.iterators.PropogatingIterator table | table.iterator.minc.agg.opt.tf ............ | datawave.ingest.table.aggregator.TextIndexAggregator table | table.iterator.minc.vers .................. | 20,org.apache.accumulo.core.iterators.user.VersioningIterator table | table.iterator.minc.vers.opt.maxVersions .. | 1 table | table.iterator.scan.agg ................... | 10,datawave.iterators.PropogatingIterator table | table.iterator.scan.agg.opt.tf ............ | datawave.ingest.table.aggregator.TextIndexAggregator table | table.iterator.scan.vers .................. | 20,org.apache.accumulo.core.iterators.user.VersioningIterator table | table.iterator.scan.vers.opt.maxVersions .. | 1 default | table.majc.compaction.strategy ............ | org.apache.accumulo.tserver.compaction.DefaultCompactionStrategy default | table.replication ......................... | false default | table.sampler ............................. | default | table.scan.dispatcher ..................... | org.apache.accumulo.core.spi.scan.SimpleScanDispatcher default | table.scan.max.memory ..................... | 512k default | table.security.scan.visibility.default .... | default | table.split.endrow.size.max ............... | 10k default | table.split.threshold ..................... | 1G default | table.suspend.duration .................... | 0s default | table.walog.enabled ....................... | true ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
