Class SystemStoreAclSynchronizationTask

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Runnable

    public class SystemStoreAclSynchronizationTask
    extends java.lang.Object
    implements java.lang.Runnable, java.io.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.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SystemStoreAclSynchronizationTask

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

      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.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 java.lang.Runnable