Class SystemStoreAclSynchronizationTask

java.lang.Object
com.linkedin.venice.controller.authorization.SystemStoreAclSynchronizationTask
All Implemented Interfaces:
Closeable, AutoCloseable, Runnable

public class SystemStoreAclSynchronizationTask extends Object implements Runnable, Closeable
Currently, acl creation is still managed by Nuage but Nuage is not aware about the system stores. The long term plan is to let Nuage call Venice controller's acl APIs to perform user store acl operations. Venice controller's acl APIs will handle corresponding system store acls properly. In the meantime this task periodically scans and synchronizes any misaligned acls between the user store and their corresponding system stores (if any). The task is one per controller and only in the parent controller based on the availability of the AuthorizerService.
  • Constructor Details

    • SystemStoreAclSynchronizationTask

      public SystemStoreAclSynchronizationTask(AuthorizerService authorizationService, VeniceParentHelixAdmin veniceParentHelixAdmin, long synchronizationCycleDelayInMs)
  • Method Details

    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • run

      public void run()
      Since acl synchronization could be a long-running task we want to make sure we can handle stale states from local variable, race conditions and early termination gracefully.
      Specified by:
      run in interface Runnable