docs: public static String getSparkExecutorId(){
          if(sparkExecutorId != null)
              return sparkExecutorId;
  
          synchronized (SparkUtils.class){
              //re-check, in case some other thread set it while waiting for lock
              if(sparkExecutorId != null)
                  return sparkExecutorId;
  
              String s = System.getProperty("sun.java.command");
              if(s == null || s.isEmpty() || !s.contains("executor-id")){
                  sparkExecutorId = UIDProvider.getJVMUID();
                  return sparkExecutorId;
              }
  
              int idx = s.indexOf("executor-id");
              String sub = s.substring(idx);
              String[] split = sub.split(" ");
              if(split.length < 2){
                  sparkExecutorId = UIDProvider.getJVMUID();
                  return sparkExecutorId;
              }
              sparkExecutorId = split[1];
              return sparkExecutorId;
          }
      }