dlmarion opened a new pull request #2422: URL: https://github.com/apache/accumulo/pull/2422
On the client side, ScannerOptions.useScanServer has been added. This option is checked in ThriftScanner and TabletServerBatchReaderIterator. If the option is set, then a ScanServerLocator implementation is retrieved from the ClientContext. The default, DefaultScanServerLocator is used, if a class name is not supplied by the user for a different implementation. The ThriftScanner and TabletServerBatchReaderIterator use the ScanServerLocator to find a ScanServer to use for scanning a Tablet. Once the ScanServer address has been resolved, the existing scan code is used to create a Thrift connection using the TabletClientService. On the server side, the ScanServer class extends TabletServer and provides its own implementation of the TabletClientService Thrift interface. The only methods that are implemented are startScan, continueScan, closeScan, startMultiScan (todo), continueMultiScan (todo), and closeMultiScan (todo). The ScanServer performs scans over one Tablet for a single client. Attempts to use a ScanServer that is in use by another client return an error on startScan. The DefaultScanServerLocator has a rudimentary reservation system that likely needs a lot of work, and possibly, a different implementation. Related to #2411 -- 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]
