 |
SoftTree Technologies
Technical Support Forums
|
|
Author |
Message |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
Have you been able to resolve this issue?
|
|
Thu May 24, 2007 9:27 am |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
Yes and no.
I have been trying to test running a remote job between a Windows and Linux machine running VMware. I figured this was the simplest and easiest because I could run my various tests, database, jobs, etc., without interfering with "real" machines. As of 5 minutes ago, this still doesn't work at all in that I can't get the master machine to connect to the Linux agent machine.
On a separate physical machine (mine) I installed the master and on another Linux machine I installed the agent. I also installed the agent on a Sun Sparc box. This time, the master does connect to both agents, but even though I schedule a test job on both remote machines to write out a test file, none of the jobs actually run. According to the master they run, if I run in test mode the entry appears in the log on the remote machines, but the job is never actually run in that I never see any output.
So as it stands, I now have active connections to two remote agents on different machines, but nothing actually runs.
|
|
Thu May 24, 2007 10:43 am |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
I uploaded a snapshot of what happens when i try to run a remote job on the Solaris machine..the terminal window shows a NullPointerException and the job never runs in that the program never executes. I tried submitting jobs right out of the manual (/bin/sh -c "dir > 1.txt") but 1.txt never shows up in the home directory.

|
|
Thu May 24, 2007 11:29 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
The log clearly says "User authentication failed"
I suggest to do 1 thing at a time. Right now it is hard to understand what is going on.
1. Let's start with 1 master and 1 agent.
2. Create a remote agent profile and test connect successfully.
3. Disable all jobs. Create a new test job, for example, use /bin/sh -c ls > /home/my_user/out.txt for the command line
4. Set this job to run using the previously created agent profile.
5. Schedule the same job to run every 2 minutes. And check the results.
It doesn't really matter if you use virtual or physical machines.
6. If the above works, let's do 1 Solaris agent and so on.
Please let us know how far you can get using this method.
|
|
Thu May 24, 2007 12:36 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
Yes, you're right, I had a user authentication failed message, but I discovered that occurs when you don't fill in the "start in" section in the job definition. That is 100% reproducible...if you don't fill in the "start in" section on step 2 of 11, you get this message (though not on Linux, just Solaris in my case).
However, I filled in the "start in" and submitted the job and the counter counts down on the master, but nothing ever shows up in the agent log *unless* you run the job in test mode. That is the other stuff you see in the image. I still have the job running but just letting it sit there, it never seems to contact the remote agent as the local and remote logs never update. Like I said, explicitly choosing "run now" will in fact put stuff in both logs (master and agent), but the job never seems to run in that the file isn't created; I used your example (though I had a job that already did something similar) and out.txt is never created, even when I explicitly run the job.
And while you said it doesn't matter if you use virtual or physical machines, I have only been able to contact the remote agent successfully when using physical machines, even though the two virtual machines were on their own network.
So at this time two things are happening (or not):
1. If you let the job just run, it never seems to contact the remote agent
2. If you select "Run Now", it contacts the remote agent but the job does not run in that the out file is not created.
|
|
Thu May 24, 2007 1:11 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
 |
 |
And while you said it doesn't matter if you use virtual or physical machines, I have only been able to contact the remote agent successfully when using physical machines, even though the two virtual machines were on their own network. |
This is something with the network setup. From 24x7 point of view, it doesn't care where the contact points are physically located. It uses standard TCP socket communications. If there is no firewall between the scheduler and the agent or some other kind of TCP communication blocking, and both endpoints are on the same public or private network, it shouldn't matter where the agent is running.
 |
 |
So at this time two things are happening (or not):
1. If you let the job just run, it never seems to contact the remote agent
2. If you select "Run Now", it contacts the remote agent but the job does not run in that the out file is not created. |
"Job started" doesn't mean job has been executed. This message simply means that the job has been submitted to the job queue. If the queue is clogged, the job can sit there forever until the preceding jobs clear the queue. My suggestion is either clear the queues manually or simply restart the master scheduler and let the job run normally.
Please note that the Test mode forces the job to run in the foreground out of queue, that's why it makes it think that it works in that mode and not in the other.
Again, I suggest that you do one thing at time. You are trying to do many and it becomes hard to understand what is going on. So, if that thing doesn't work, don't create additional agents, queues, jobs, etc… until the issue is resolved. Once you get familiar with the scheduler working, I am pretty sure you can squeeze all the juices from it.
|
|
Thu May 24, 2007 1:46 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
Right...I am not focusing on the vmware network stuff...I shut them down so I can concentrate on getting the job to run between my Windows machine and the Solaris machine.
I cleared out the queue and re-ran the test job that I created, and it appears that the job does not complete as the queue is backing up with further instances of the job while the first instance is marked as "running". The xterm window that I started agent.sh in had this appear:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.sun.org.apache.xerces.internal.dom.ParentNode.nodeListGetLength(P
arentNode.java:745)
at com.sun.org.apache.xerces.internal.dom.ParentNode.getLength(ParentNod
e.java:757)
at com.softtreetech.jscheduler.business.preferences.AbstractPrefDatabase
.getIdsByType(Unknown Source)
at com.softtreetech.jscheduler.business.preferences.SettingsImpl.getOpti
ons(Unknown Source)
at com.softtreetech.jscheduler.ui.O0OO.D$1.eventOccurred(Unknown Source)
at com.softtreetech.jscheduler.business.O.?00000(Unknown Source)
at com.softtreetech.jscheduler.business.O.access$000(Unknown Source)
at com.softtreetech.jscheduler.business.O$o.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
-bash-3.00$
which is what was in the terminal window in the screenshot.
|
|
Thu May 24, 2007 2:07 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
I am not sure what that error exactly means or what causes it. This would need separate troubleshooting.
For now, let's try to simplify the environment. Let's run the agent in non-graphical mode so it doesn't need to deal with Sun's AWT and Xwindows. To run the agent without GUI start it from the command line as below
./agent.sh nogui
Please let us know if you can reproduce this exception.
|
|
Thu May 24, 2007 3:22 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
When the agent runs with nogui, the master never connects at all, even in the test connection. I've tried connecting 6 times and it says "connection to sun02 failed". The debug.log on the Sun machine has:
-bash-3.00$ more debug.log
2007-05-24 14:42:20,821 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStart
2007-05-24 14:42:20,824 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStart
2007-05-24 14:42:20,830 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStart
2007-05-24 14:42:20,960 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStart
2007-05-24 14:42:21,064 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStart
2007-05-24 14:42:21,110 [main] DEBUG com.softtreetech.jscheduler.business.prefer
le preferences.xml
2007-05-24 14:42:21,136 [main] DEBUG com.softtreetech.jscheduler.business.prefer
o preferences.bak
In the master, when I start up the program (on Windows) and try to do a test connect to the Sun, this is what appears in the debug.log:
2007-05-24 14:45:37,906 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - main(...) : start
2007-05-24 14:45:37,906 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - startup() : start
2007-05-24 14:45:37,906 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - startup() : creating business objects
2007-05-24 14:45:38,328 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - startup() : creating UI controller
2007-05-24 14:45:38,781 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - startup() : initializing business objects
2007-05-24 14:45:38,812 [main] DEBUG com.softtreetech.jscheduler.business.preferences.AbstractPrefDatabase - Creating backup for preferences file preferences.xml
2007-05-24 14:45:38,828 [main] DEBUG com.softtreetech.jscheduler.business.preferences.AbstractPrefDatabase - Preferences file has been copied to preferences.bak
2007-05-24 14:45:39,203 [main] DEBUG com.softtreetech.jscheduler.business.jobtemplates.JobTemplateSetImpl - loadDescription: path: Template/test_template.ini
2007-05-24 14:45:43,249 [main] DEBUG com.softtreetech.jscheduler.db.drivers.file.FileJobDbStorage - buildIndex(): totalRecordsNumber: 14
2007-05-24 14:45:43,249 [main] DEBUG com.softtreetech.jscheduler.db.drivers.file.FileJobDbStorage - buildIndex(): deletedRecordsNumber: 0
2007-05-24 14:45:43,453 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - startup() : end
2007-05-24 14:45:43,453 [main] DEBUG com.softtreetech.jscheduler.JSchedulerStarter - main(...) : end
2007-05-24 14:46:01,265 [AWT-EventQueue-0] DEBUG com.softtreetech.jscheduler.business.agent.remote.AgentServerImpl - testConnection
com.softtreetech.jscheduler.common.SchedException:
at com.softtreetech.jscheduler.business.runner.security.SecurityServiceImpl.authNativeUser(Unknown Source)
at com.softtreetech.jscheduler.business.agent.remote.RemoteAgentImpl.testConnection(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at com.softtreetech.jscheduler.business.agent.remote.RemoteAgentImpl_Stub.testConnection(Unknown Source)
at com.softtreetech.jscheduler.business.agent.remote.AgentServerImpl.testConnection(Unknown Source)
at com.softtreetech.jscheduler.ui.ooOO.K$4.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
at java.awt.Dialog$1.run(Dialog.java:1039)
at java.awt.Dialog$3.run(Dialog.java:1091)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1089)
at com.softtreetech.jscheduler.ui.ooOO.K.show(Unknown Source)
at java.awt.Component.show(Component.java:1419)
at java.awt.Component.setVisible(Component.java:1372)
at java.awt.Window.setVisible(Window.java:801)
at java.awt.Dialog.setVisible(Dialog.java:979)
at com.softtreetech.jscheduler.ui.ooOO.K.öÔO000(Unknown Source)
at com.softtreetech.jscheduler.ui.new.OooO$12.o00000(Unknown Source)
at com.softtreetech.jscheduler.ui.new.String.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: com.softtreetech.jscheduler.common.SchedException:
at com.softtreetech.jscheduler.business.runner.security.SecurityServiceImpl.authNativeUser(Unknown Source)
at com.softtreetech.jscheduler.business.agent.remote.RemoteAgentImpl.testConnection(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
|
|
Thu May 24, 2007 3:52 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
Please verify that nothing changed and the agent is still listening on the same port 1096. If it is not, edit preferences.xml file and ensure in line property name="distributedServerMode" type="4" value="false" the value is set to "true"
Hope this helps.
|
|
Thu May 24, 2007 4:09 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
Nothing has changed...I have never edited this file. I have included it from the remote machine here:
<xml>
<root>
<object>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
</object>
<object>
<property>
<object>
<property>
<property>
</object>
</object>
<object>
<property>
<property>
<property>
<property>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
</property>
</object>
<object>
<property>
<property>
<property>
<property>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
</property>
</object>
<object>
<property>
<property>
<property>
<property>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
</property>
</object>
<object>
<property>
<property>
<property>
<property>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
</property>
</object>
<object>
<property>
<property>
<property>
<property>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
<item>
</property>
</object>
<object>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
</object>
<object>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
<property>
</object>
</root>
|
|
Thu May 24, 2007 4:42 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
So the agent is running and listening on 1096? Right? and you still cannot connect?
If you are not sure, please try netstat -a
|
|
Thu May 24, 2007 4:52 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
I did a netstat -a when the agent was not running and did not find anything using port 1096. I then started the agent and this is the result:
-bash-3.00$ netstat -a | grep 1096
*.1096 *.* 0 0 49152 0 LISTEN
-bash-3.00$ telnet localhost 1096
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^[^?^]
telnet> quit
Connection to localhost closed.
-bash-3.00$ netstat -a | grep 1096
*.1096 *.* 0 0 49152 0 LISTEN
localhost.41139 localhost.1096 49152 0 49152 0 TIME_WAIT
-bash-3.00$
I do a netstat -a, then a telnet to localhost 1096, then another netstat -a. If I then exit the agent, netstat -a | grep 1096 returns nothing.
|
|
Thu May 24, 2007 5:06 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7969
|
|
|
|
and if you do telnet from the scheduler computer? can you still connect to that machine on port 1096?
|
|
Thu May 24, 2007 5:45 pm |
|
 |
Ron
Joined: 22 May 2007 Posts: 29
|
|
|
|
Yes, telnet from the Windows machine to the sun machine, on port 1096, works fine.
|
|
Thu May 24, 2007 5:45 pm |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|