Menu

#28 NewWebServicePlugin cannot be prepared

1.11
closed
nobody
None
3
2017-05-24
2017-05-16
No

Hello,

When I try to use ./jobscheduler.sh status or ./jobscheduler.sh stop i have following error.

Error Z-JAVA-105 Java exception java.lang.RuntimeException: Plugin com.sos.scheduler.engine.plugins.newwebservice.NewWebServicePlugin cannot be prepared: java.lang.RuntimeException: Binding to TCP port /0.0.0.0:40444 failed. Port is possibly in use and not available. Switch on DEBUG-level logging forakka.io.TcpListenerto log the cause. CommandFailed(Bind(Actor[akka://Engine/user/EngineWebServer-http-0.0.0.0:40444#-547973921],/0.0.0.0:40444,100,List(),Some(ServerSettings(spray-can/1.3.4,false,1,Timeouts(1441 minutes,1 day,2..., method=CallVoidMethodA []

./jobscheduler.sh start works
JOC and Old web interfance works normally except to stop properly the scheduler. I can only use "abort immediatly"

I tried to modify log_level to debug1 (and after to debug9) and restarted but no more information in log about the error.

I am on linux-x64 1.11.1 version. I have an other old instance in separate server on 1.11-RC6 without this issue.

I added my scheduler.xml in attachment. Tell me if you need other information or configuration file.

thanks

1 Attachments

Discussion

  • Clément CHOQUET

    Now without action on my side (but after 24h of executions) I can do a ./jobscheduler.sh status whitout error but i have still TCP error in log (i don't know if its linked)

    .17 09:04:02.479 com.sos.scheduler.engine.common.scalautil.xmls.ScalaStax [INFO ] - Using XMLInputFactory class com.sun.xml.internal.stream.XMLInputFactoryImpl
    .17 09:04:03.215 akka.io.TcpListener [ERROR] - Bind failed for TCP channel on endpoint [/0.0.0.0:40444]
    java.net.BindException: Address already in use

    No issue to launch job from this instance (or launch remote from other jobscheduler) and web console is OK but i don't know the impact.

     

    Last edit: Clément CHOQUET 2017-05-17
  • Uwe Risse

    Uwe Risse - 2017-05-17

    You have another running JobScheduler Instance

     
  • Clément CHOQUET

    I found only one instance on each of my 3 jobschedulers servers.

    /opt/ve/jobscheduler/veso3wklx04/logs # ps -ef | grep jobscheduler

    1014 5362 1 0 May15 ? 00:06:45 /usr/bin/java -Xms128m -Xmx512m -Xss4000k -Djetty.logging.dir=/opt/ve/jobscheduler/logs -Djetty.home=/opt/ve/jobscheduler/jetty -Djetty.base=/opt/ve/jobscheduler -Djava.io.tmpdir=/opt/ve/jobscheduler/temp -jar /opt/ve/jobscheduler/jetty/start.jar jetty.state=/opt/ve/jobscheduler/joc.state jetty-logging.xml jetty-started.xml start-log-file=/opt/ve/jobscheduler/logs/start.log
    root 7454 1135 0 11:42 pts/4 00:00:00 grep jobscheduler
    1104 14713 1 3 May16 ? 01:04:43 /opt/ve/jobscheduler/veso3wklx04/bin/scheduler -service -id=veso3wklx04 -sos.ini=/opt/ve/jobscheduler/veso3wklx04/config/sos.ini -ini=/opt/ve/jobscheduler/veso3wklx04/config/factory.ini -config=/opt/ve/jobscheduler/veso3wklx04/config/scheduler.xml -param=/opt/ve/jobscheduler/veso3wklx04 -cd=/opt/ve/jobscheduler/veso3wklx04 -include-path=/opt/ve/jobscheduler/veso3wklx04 -pid-file=/opt/ve/jobscheduler/veso3wklx04/logs/scheduler.pid -env=LD_LIBRARY_PATH=

    /opt/ve/jobscheduler/veso3wklx05/logs # ps -ef | grep scheduler

    1104 12367 1 0 09:01 ? 00:00:55 /opt/ve/jobscheduler/veso3wklx05/bin/scheduler -service -id=veso3wklx05 -sos.ini=/opt/ve/jobscheduler/veso3wklx05/config/sos.ini -ini=/opt/ve/jobscheduler/veso3wklx05/config/factory.ini -config=/opt/ve/jobscheduler/veso3wklx05/config/scheduler.xml -param=/opt/ve/jobscheduler/veso3wklx05 -cd=/opt/ve/jobscheduler/veso3wklx05 -include-path=/opt/ve/jobscheduler/veso3wklx05 -pid-file=/opt/ve/jobscheduler/veso3wklx05/logs/scheduler.pid -env=LD_LIBRARY_PATH=

    /opt/ve/jobscheduler/veso3wklx06/logs # ps -ef | grep jobscheduler

    1104 7637 17045 0 11:45 ? 00:00:00 /bin/sh -c "/vol/applog/jobscheduler/veso3wklx06/tmp/sos.YWO3sV"
    1104 7644 7637 0 11:45 ? 00:00:00 /bin/sh /vol/applog/jobscheduler/veso3wklx06/tmp/sos.YWO3sV
    root 8433 17861 0 11:45 pts/2 00:00:00 grep jobscheduler
    1104 17045 1 1 May16 ? 00:26:46 /opt/ve/jobscheduler/veso3wklx06/bin/scheduler -service -id=veso3wklx06 -sos.ini=/opt/ve/jobscheduler/veso3wklx06/config/sos.ini -ini=/opt/ve/jobscheduler/veso3wklx06/config/factory.ini -config=/opt/ve/jobscheduler/veso3wklx06/config/scheduler.xml -param=/opt/ve/jobscheduler/veso3wklx06 -cd=/opt/ve/jobscheduler/veso3wklx06 -include-path=/opt/ve/jobscheduler/veso3wklx06 -pid-file=/opt/ve/jobscheduler/veso3wklx06/logs/scheduler.pid -env=LD_LIBRARY_PATH=

     
  • Clément CHOQUET

    For information,

    When i remove "http port=40444" in scheduler.xml I can use ./jobscheduler.sh status but the instance is unreacheable from JOC Cockpit installed on other server.
    If I add http_port=40444 , instance reacheable from JOC cockpit of other server but when i use jobscheduler.sh status i have the error

    "Plugin com.sos.scheduler.engine.plugins.newwebservice.NewWebServicePlugin cannot be prepared: java.lang.RuntimeException: Binding to TCP port /0.0.0.0:40444 failed. Port is possibly in use and not available. Switch on DEBUG-level logging for akka.io.TcpListener to log the cause. CommandFailed(Bind(Actor[akka://Engine/user/EngineWebServer-http-0.0.0.0:40444#-375159246],/0.0.0.0:40444,100,List(),Some(ServerSettings(spray-can/1.3.4,false,1,Timeouts(1441 minutes,1 day,2..., method=CallVoidMethodA []"

     
  • Clément CHOQUET

    in fact i used service jobscheduler status not jobscheduler.sh status
    And my init.d/jobscheduler was not in the good version.

     
  • Oliver Haufe

    Oliver Haufe - 2017-05-24

    Hi Clément,
    If you have a JobScheduler version 1.11.x then the http_port is required for the startscript when calling commands such as "status" or "terminate". Otherwise you get error message

    java.lang.IllegalArgumentException: http port is required
    

    I'm confused that you wrote that you can use ./jobscheduler.sh status when you removed http_port.
    Please post the scheduler.xml

    Best regards,
    Oliver

     
  • Clément CHOQUET

    Hello,

    In fact i didn't use jobscheduler.sh directly but service jobscheduler (start / status ) and jobscheduler script in my /etc/init.d/ was in previous jobscheduler version.
    Issue solved after upgrade my /init.d/jobscheduler
    Thanks a lot.

     
  • Oliver Haufe

    Oliver Haufe - 2017-05-24

    Nice to hear. The scheduler.xml looks good too. I thougth that there is an old plugin for Jetty which use the same port but it isn't.

     
  • Oliver Haufe

    Oliver Haufe - 2017-05-24
    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB