Class ClientDrivenReindexOperation


  • public class ClientDrivenReindexOperation
    extends DriveReindexOperation
    Drives the $reindex custom operation in parallel from the client side via use of the $retrieve-index operation. Processing continues until index IDs indicate that no resources remain to be reindexed.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Set<java.lang.String> inProgressIndexIds  
    • Constructor Summary

      Constructors 
      Constructor Description
      ClientDrivenReindexOperation​(FHIRBucketClient fhirClient, int maxConcurrentRequests, java.lang.String reindexTimestamp, int maxResourceCount, java.lang.String startWithIndexId, boolean force)
      Public constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void init()
      Start the main loop
      void monitorLoop()
      The main monitor loop.
      void signalStop()
      Program is stopping, so tell the threads they can stop too
      void waitForStop()
      Wait until things are stopped
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • inProgressIndexIds

        java.util.Set<java.lang.String> inProgressIndexIds
    • Constructor Detail

      • ClientDrivenReindexOperation

        public ClientDrivenReindexOperation​(FHIRBucketClient fhirClient,
                                            int maxConcurrentRequests,
                                            java.lang.String reindexTimestamp,
                                            int maxResourceCount,
                                            java.lang.String startWithIndexId,
                                            boolean force)
        Public constructor.
        Parameters:
        fhirClient - the FHIR client
        maxConcurrentRequests - the number of threads to spin up
        reindexTimestamp - timestamp the reindex began
        maxResourceCount - resources processed per request per thread
        startWithIndexId - index ID from which to start, or null
        force - force the reindex even if the parameter hash matches