Skip to content

Remove non-public API usage from ScannerBaseDelegate #3334

@SethSmucker

Description

@SethSmucker

Summary

Remove dependencies on non-public Accumulo APIs in ScannerBaseDelegate.

Non-Public Classes

  • org.apache.accumulo.core.clientImpl.ScannerOptions
  • org.apache.accumulo.core.dataImpl.thrift.IterInfo

Solution

Track iterator names locally instead of introspecting the delegate via non-public APIs:

  • Add systemIteratorNames and userIteratorNames Sets
  • Update add/remove methods to maintain the local tracking sets
  • Simplify clearScanIterators() to iterate over tracked names
  • Remove ScannerOptionsHelper inner class

Files Affected

  • core/utils/accumulo-utils/src/main/java/datawave/webservice/common/connection/ScannerBaseDelegate.java

Part of #2443

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions