I wrote a kudu source plug-in, but the operation has been unable to get the connection, why this is so, thank you

asked 2020-09-24 21:18:42 -0500

liuhaitao gravatar image

error message: 2020-09-25 10:06:01,226 [user:*admin] [pipeline:origin_kudu/originkudu67bd4a26-6d82-4690-a79b-2b1a62ce8dd4] [runner:] [thread:ProductionPipelineRunnable-originkudu67bd4a26-6d82-4690-a79b-2b1a62ce8dd4-origin_kudu] ERROR ProductionPipelineRunnable - An exception occurred while running the pipeline, com.streamsets.datacollector.runner.PipelineRuntimeException: CONTAINER_0800 - Pipeline 'originkudu67bd4a26-6d82-4690-a79b-2b1a62ce8dd4' validation error : UPGRADER_00 - Upgrader not implemented for stage 'java.security.AccessControlException: access denied ("javax.security.auth.AuthPermission" "getSubject"):{}' instance '{}' com.streamsets.datacollector.runner.PipelineRuntimeException: CONTAINER_0800 - Pipeline 'originkudu67bd4a26-6d82-4690-a79b-2b1a62ce8dd4' validation error : UPGRADER_00 - Upgrader not implemented for stage 'java.security.AccessControlException: access denied ("javax.security.auth.AuthPermission" "getSubject"):{}' instance '{}' at com.streamsets.datacollector.execution.runner.common.ProductionPipeline.run(ProductionPipeline.java:128) at com.streamsets.datacollector.execution.runner.common.ProductionPipelineRunnable.run(ProductionPipelineRunnable.java:75) at com.streamsets.datacollector.execution.runner.standalone.StandaloneRunner.start(StandaloneRunner.java:703) at com.streamsets.datacollector.execution.AbstractRunner.lambda$scheduleForRetries$0(AbstractRunner.java:349) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226) at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:33) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at com.streamsets.datacollector.metrics.MetricSafeScheduledExecutorService$MetricsTask.run(MetricSafeScheduledExecutorService.java:100) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

The plug-in code: @Override protected List<configissue> init() {

    List<ConfigIssue> issues = super.init();
    try {

        client = new KuduClient.KuduClientBuilder(kuduMaster).defaultSocketReadTimeoutMs(6000).build();

        kuduTable = client.openTable(tableName);




        builder = client.newScannerBuilder(kuduTable);

        fieldList = kuduTable.getSchema().getColumns();

        scanner = setPredicate(builder, kuduTable, checkColumn, queryConditionSta);
        LOG.info("connected to kudu  at {}", client.getLocationString());
    } catch (Exception e) {
        LOG.error("Exception building get kudu client {}", e.getMessage());
        e.printStackTrace();
        issues.add(getContext().createConfigIssue(Groups.SAMPLE.name(), "kuduConfig", StageUpgrader.Error.UPGRADER_00, e.getLocalizedMessage()));
    }
    return issues;
}

I want to initialize Kuduc Lient in the init method,Isn't that okay?

edit retag flag offensive close merge delete