Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-5897

create jndi-binding gfsh command does not report errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.8.0
    • gfsh

    Description

      The command succeeds even if there was an error on the server. I would expect the command to fail if the url has a typo, the credentials are incorrect, the driver class was not found on the classpath etc.
      E.g.

      gfsh>create jndi-binding --connection-url=lcoalsthag --name=ds2 --jdbc-driver-class="asdffii" --type=SIMPLE --username=foo
      Password: *****
      Member | Status | Message
      ------ | ------ | -------------------------------------------------------------------
      serv1  | OK     | Initiated jndi binding "ds2" on "serv1". See server logs to verify.
      
      
      
      
      Changes to configuration for group 'cluster' are persisted.
      
      

      But the server has an error in the logs:

      [error 2018/10/18 11:26:27.385 PDT serv1 <Function Execution Processor2> tid=0x48] An Exception was caught while trying to load the driver. asdffii
       java.lang.ClassNotFoundException: asdffii
       at org.apache.geode.internal.ClassPathLoader.forName(ClassPathLoader.java:170)
       at org.apache.geode.internal.datasource.GemFireBasicDataSource.loadDriver(GemFireBasicDataSource.java:130)
       at org.apache.geode.internal.datasource.GemFireBasicDataSource.<init>(GemFireBasicDataSource.java:68)
       at org.apache.geode.internal.datasource.DataSourceFactory.getSimpleDataSource(DataSourceFactory.java:75)
       at org.apache.geode.internal.jndi.JNDIInvoker.mapDatasource(JNDIInvoker.java:340)
       at org.apache.geode.management.internal.cli.functions.CreateJndiBindingFunction.executeFunction(CreateJndiBindingFunction.java:39)
       at org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:32)
       at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:193)
       at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:367)
       at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:432)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:949)
       at org.apache.geode.distributed.internal.ClusterDistributionManager.doFunctionExecutionThread(ClusterDistributionManager.java:803)
       at org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121)
       at java.lang.Thread.run(Thread.java:745)
      
      [error 2018/10/18 11:26:27.386 PDT serv1 <Function Execution Processor2> tid=0x48] DataSourceFactory::getSimpleDataSource:Exception while creating GemfireBasicDataSource.Exception String=An Exception was caught while trying to load the driver. asdffii
       java.sql.SQLException: An Exception was caught while trying to load the driver. asdffii
       at org.apache.geode.internal.datasource.GemFireBasicDataSource.loadDriver(GemFireBasicDataSource.java:137)
       at org.apache.geode.internal.datasource.GemFireBasicDataSource.<init>(GemFireBasicDataSource.java:68)
       at org.apache.geode.internal.datasource.DataSourceFactory.getSimpleDataSource(DataSourceFactory.java:75)
       at org.apache.geode.internal.jndi.JNDIInvoker.mapDatasource(JNDIInvoker.java:340)
       at org.apache.geode.management.internal.cli.functions.CreateJndiBindingFunction.executeFunction(CreateJndiBindingFunction.java:39)
       at org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:32)
       at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:193)
       at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:367)
       at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:432)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      
      

       

       

      Attachments

        Issue Links

          Activity

            People

              dschneider Darrel Schneider
              swapnil.bawaskar Swapnil Bawaskar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h