@Override
  public void start() throws Exception {
    ContextFactoryDriver cfDriver = ContextFactoryDriverService.loadDriver();
    pipelineEnv = loadPipelineEnvironment(cfDriver);
    final PipelineDriver pipelineDriver = pipelineEnv.getPipelineDriver();
    compressor = pipelineDriver.compressor();
    pipelineWriter = pipelineDriver.writer();
    final SIDriver siDriver = pipelineEnv.getSIDriver();
    ctxLoader = pipelineDriver.getContextFactoryLoader(conglomId);
    WriteContextFactory factory =
        WriteContextFactoryManager.getWriteContext(
            conglomId,
            pipelineEnv.configuration(),
            siDriver.getTableFactory(),
            pipelineDriver.exceptionFactory(),
            getStringParsingFunction(),
            ctxLoader);
    factory.prepare();

    TransactionalRegion txnRegion = siDriver.transactionalPartition(conglomId, basePartition);
    writePipeline =
        new PartitionWritePipeline(
            serverControl,
            basePartition,
            factory,
            txnRegion,
            pipelineDriver.meter(),
            pipelineDriver.exceptionFactory());
    pipelineDriver.registerPipeline(basePartition.getName(), writePipeline);
  }
 public SpliceTransaction(
     CompatibilitySpace compatibilitySpace,
     SpliceTransactionFactory spliceTransactionFactory,
     DataValueFactory dataValueFactory,
     String transName) {
   SpliceLogUtils.trace(LOG, "Instantiating Splice transaction");
   this.compatibilitySpace = compatibilitySpace;
   this.spliceTransactionFactory = spliceTransactionFactory;
   this.dataValueFactory = dataValueFactory;
   boolean ignoreSavepoints = SIDriver.driver().getConfiguration().ignoreSavePoints();
   TxnLifecycleManager lifecycleManager = SIDriver.driver().lifecycleManager();
   this.transaction = new TransactionImpl(transName, ignoreSavepoints, lifecycleManager);
 }
 public static DistributedFileSystem getFileSystem(String path) throws StandardException {
   try {
     return SIDriver.driver().getSIEnvironment().fileSystem(path);
   } catch (Exception e) {
     throw StandardException.plainWrapException(e);
   }
 }
  private DataResult fetchBaseRow(KVPair mutation, WriteContext ctx, BitSet indexedColumns)
      throws IOException {
    baseGet =
        SIDriver.driver()
            .getOperationFactory()
            .newDataGet(ctx.getTxn(), mutation.getRowKey(), baseGet);

    EntryPredicateFilter epf;
    if (indexedColumns != null && indexedColumns.size() > 0) {
      epf = new EntryPredicateFilter(indexedColumns);
    } else epf = EntryPredicateFilter.emptyPredicate();

    TransactionalRegion region = ctx.txnRegion();
    TxnFilter txnFilter = region.packedFilter(ctx.getTxn(), epf, false);
    baseGet.setFilter(txnFilter);
    baseResult = ctx.getRegion().get(baseGet, baseResult);
    return baseResult;
  }