glassfish
  1. glassfish
  2. GLASSFISH-20428

[Regression] BATCH CLI: asadmin list-batch-job-executions or list-batch-steps with an operand value returns IllegalArgumentException

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 4.0_dev
    • Fix Version/s: 4.0_dev
    • Component/s: batch
    • Labels:
      None
    • Environment:

      OEL6

      Description

      Looks like fix for GLASSFISH-20264 caused this issue

      Steps:

      1) Run asadmin list-batch-job-executions <instance_id>

      bash-4.1$ asadmin list-batch-job-executions 1
      remote failure: Can not set java.lang.Long field org.glassfish.batch.ListBatchJobExecutionsProxy.instanceId to java.lang.String
      Can not set java.lang.Long field org.glassfish.batch.ListBatchJobExecutionsProxy.instanceId to java.lang.String
      Usage: list-batch-job-executions [--executionid=executionid] [--terse=false] [--output=output] [--header=header] [--target=server] [--long=long] [instanceid]
      Command list-batch-job-executions failed.

      Stacktrace:

      [2013-04-29T04:36:10.064-0700] [glassfish 4.0] [SEVERE] [NCLS-CORE-00003] [javax.enterprise.system.core] [tid: _ThreadID=34 _ThreadName=admin-listener(2)] [timeMillis: 1367235370064] [levelValue: 1000] [[
      Exception while running a command
      java.lang.IllegalArgumentException: Can not set java.lang.Long field org.glassfish.batch.ListBatchJobExecutionsProxy.instanceId to java.lang.String
      at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164)
      at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168)
      at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81)
      at java.lang.reflect.Field.set(Field.java:680)
      at org.jvnet.hk2.config.InjectionManager.syncDoInject(InjectionManager.java:171)
      at org.jvnet.hk2.config.InjectionManager.inject(InjectionManager.java:73)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.injectParameters(CommandRunnerImpl.java:362)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1188)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
      at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
      at org.glassfish.admin.rest.resources.admin.CommandResource.executeCommand(CommandResource.java:396)
      at org.glassfish.admin.rest.resources.admin.CommandResource.execCommandSimpInMultOut(CommandResource.java:234)
      at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
      at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:125)
      at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
      at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:91)
      at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:346)
      at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:341)
      at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:101)
      at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:224)
      at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
      at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
      at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
      at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:198)
      at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:946)
      at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:331)
      at org.glassfish.admin.rest.adapter.JerseyContainerCommandService$3.service(JerseyContainerCommandService.java:161)
      at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:181)
      at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)
      at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
      at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
      at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
      at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
      at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
      at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
      at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
      at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
      at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
      at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
      at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
      at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
      at java.lang.Thread.run(Thread.java:722)
      ]]

        Activity

        Hide
        Mahesh Kannan added a comment -
        • What is the impact on the customer of the bug?
          Cannot list batch job executions or steps. So this is a significant regression
        • What is the cost/risk of fixing the bug?
          Very low, and fixing involves changing a few lines in three files.
          Doesn't affect CTS tests at all. I have run the batch devtests as well.
        • Is there an impact on documentation or message strings?
          No.
        • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
          Batch QE tests
        • Which is the targeted build of 4.0 for this fix?
          88.
        • If this an integration of a new version of a component from another project,
          What are the changes that are being brought in?
          NA
        Show
        Mahesh Kannan added a comment - What is the impact on the customer of the bug? Cannot list batch job executions or steps. So this is a significant regression What is the cost/risk of fixing the bug? Very low, and fixing involves changing a few lines in three files. Doesn't affect CTS tests at all. I have run the batch devtests as well. Is there an impact on documentation or message strings? No. Which tests should QA (re)run to verify the fix did not destabilize GlassFish? Batch QE tests Which is the targeted build of 4.0 for this fix? 88. If this an integration of a new version of a component from another project, What are the changes that are being brought in? NA
        Hide
        Mahesh Kannan added a comment -

        The fix is to check if the input is a long.

        ===============================

        Branch commit info:

        svn commit -m "Fix for 20428. QL Passed. Batch devtests passed. Approved by Michael"
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/AbstractListCommandProxy.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutions.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutionsProxy.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobStepsProxy.java
        Transmitting file data ....
        Committed revision 61830.
        makannan-mac% svn info
        Path: .
        URL: https://svn.java.net/svn/glassfish~svn/branches/4.0/appserver/batch
        Repository Root: https://svn.java.net/svn/glassfish~svn
        Repository UUID: 6f3ba3e3-413c-0410-a8aa-90bee3ab43b5
        Revision: 61829
        Node Kind: directory
        Schedule: normal
        Last Changed Author: mk111283
        Last Changed Rev: 61563
        Last Changed Date: 2013-04-19 10:28:11 -0700 (Fri, 19 Apr 2013)

        =========================

        trunk commit info:

        svn commit -m "Fix for 20428. QL Passed. Batch devtests passed. Approved by Michael"
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/AbstractListCommandProxy.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutions.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutionsProxy.java
        Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobStepsProxy.java
        Transmitting file data ...

        ==========================

        Show
        Mahesh Kannan added a comment - The fix is to check if the input is a long. =============================== Branch commit info: svn commit -m "Fix for 20428. QL Passed. Batch devtests passed. Approved by Michael" Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/AbstractListCommandProxy.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutions.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutionsProxy.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobStepsProxy.java Transmitting file data .... Committed revision 61830. makannan-mac% svn info Path: . URL: https://svn.java.net/svn/glassfish~svn/branches/4.0/appserver/batch Repository Root: https://svn.java.net/svn/glassfish~svn Repository UUID: 6f3ba3e3-413c-0410-a8aa-90bee3ab43b5 Revision: 61829 Node Kind: directory Schedule: normal Last Changed Author: mk111283 Last Changed Rev: 61563 Last Changed Date: 2013-04-19 10:28:11 -0700 (Fri, 19 Apr 2013) ========================= trunk commit info: svn commit -m "Fix for 20428. QL Passed. Batch devtests passed. Approved by Michael" Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/AbstractListCommandProxy.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutions.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobExecutionsProxy.java Sending batch/glassfish-batch-commands/src/main/java/org/glassfish/batch/ListBatchJobStepsProxy.java Transmitting file data ... ==========================

          People

          • Assignee:
            Mahesh Kannan
            Reporter:
            arunkumar_s
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: