JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-89  -  ConnectException during performTransition
Posted Oct 26, 2012 - updated Nov 24, 2012
This issue is blocking the next release
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     jandam
  • Owned by
    Not owned by anyone
  • Category
    Server
  • Resolution
    RESOLVED
  • Priority
    Critical
  • Reproducability
    Often
  • Severity
    Critical
  • Targetted for
    icon_milestones.png JPPF 3.2
Issue description
During job execution ConnectException is thrown. readOps and keyOps are in unexpected state. Fail is on following check:
if (channel.isReadable() && !channel.isLocal()) throw new ConnectException("node " + channel + " has been disconnected");
It looks like concurrency issue on channels.
Steps to reproduce this issue
run application that compute values on client. 1xClient, 1xDriver+Local node, 1xNode. Local Node + Node are both required to reproduce issue.

#2
Comment posted by
 jandam
Oct 26, 13:48
A file was uploaded. driver-output.txticon_open_new.png
#4
Comment posted by
 jandam
Oct 26, 14:35
Applied temporary workaround in trunk revision 2510. Executor for state transition is disabled - StateTransitionTask.run() called directly. Execution fails event with fixed thread pool executors with size=1. After this workaround issue is no longer reproducible.
#8
Comment posted by
 lolo4j
Nov 17, 18:32
A file was uploaded. sample code, logs, config and threads dumps of reproduced hangicon_open_new.png
#9
Comment posted by
 lolo4j
Nov 17, 18:43
I am now able to reproduce a hung with the following configuration:
  • 1 client with jppf.connection.pool = 5
  • one driver with local node (8 threads)
  • submitting 10 non-blocking jobs with 400 tasks each, each task invokes compute() to execute JPPFCallable on the client


I have attached a file the following information and files:
  • client and driver thread dumps
  • client and driver logs
  • client and driver configuration files
  • source code (runner + task + callable)
  • ouptut generated by the driver debug mbean: dump of the active channels + dump of jobs in the server queue


#10
Comment posted by
 lolo4j
Nov 24, 18:15
Fixed in trunk revision 2550

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from New to Closed.
  • This issue's progression has been updated to 100 percent completed.
  • The resolution has been updated, from Not determined to RESOLVED.
  • Information about the user working on this issue has been changed, from lolo4j to Not being worked on.