HBase
  1. HBase
  2. HBASE-8607

Allow custom filters and coprocessors to be updated for a region server without requiring a restart

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: regionserver
    • Labels:
      None
    • Tags:
      Phoenix

      Description

      One solution to allowing custom filters and coprocessors to be updated for a region server without requiring a restart might be to run the HBase server in an OSGi container (maybe there are other approaches as well?). Typically, applications that use coprocessors and custom filters also have shared classes underneath, so putting the burden on the user to include some kind of version name in the class is not adequate. Including the version name in the package might work in some cases (at least until dependent jars start to change as well), but is cumbersome and overburdens the app developer.

      Regardless of what approach is taken, we'd need to define the life cycle of the coprocessors and custom filters when a new version is loaded. For example, in-flight invocations could continue to use the old version while new invocations would use the new ones. Once the in-flight invocations are complete, the old code/jar could be unloaded.

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            James Taylor
          • Votes:
            1 Vote for this issue
            Watchers:
            16 Start watching this issue

            Dates

            • Created:
              Updated:

              Development