private void init(HiveConf hiveConf) throws IOException {
    // Only do the lightweight stuff in ctor; by default, LLAP coordinator is created during
    // HS2 init without the knowledge of LLAP usage (or lack thereof) in the cluster.
    this.hiveConf = hiveConf;
    this.clusterUser = UserGroupInformation.getCurrentUser().getShortUserName();
    // TODO: if two HS2s start at exactly the same time, which could happen during a coordinated
    //       restart, they could start generating the same IDs. Should we store the startTime
    //       somewhere like ZK? Try to randomize it a bit for now...
    long randomBits = (long)(new Random().nextInt()) << 32;
    this.startTime = Math.abs((System.currentTimeMillis() & (long)Integer.MAX_VALUE) | randomBits);
  }
We'll keep signers per cluster around for some time, for reuse.
llap-client/src/java/org/apache/hadoop/hive/llap/coordinator/LlapCoordinator.java