[
http://issues.apache.org/jira/browse/DERBY-989?page=comments#action_12419356 ]
Suresh Thalamati commented on DERBY-989:
----------------------------------------
Hi Knut,
Thanks for looking into this failure. I took a quick look at your changes,patch
looks good.
Only minor thing I noticed is :
In work() method is getting assing to the current service record:
+ if ((work.getClientNumber() >= 0) &&
+ (subscription.elementAt(work.getClientNumber()) ==
null)) {
+ / DERBY-989: client has unsubscribed, skip it
+ continue;
+ }
+ currentlyBeingServiced = work;
}
I think the statement "currentlyBeingServiced = work" can be set only when
clientNumber > 0 ; in other cases anyway it is not being used; As I understantd
this patch is fixing only subscribe/unsubscribe type requests.
I am also bit confused about what should be correct contract of
unsubscribe() method should be. I looked at the derby code
little bit for cases where unsubcribe() call makes performWork() in
execution for that client throws weird errors. One thing I noticed
is BasicDaemon:stop() method is called either before the unsubscribe()
method calls or immediately after it. stop() method waits for work
in progress to complete.
Not sure if this patch will prevent any new issues, that is not addressed
by calling the daemon stop() method. My choice would be to fix the test,
unless some one finds a problem in the engine code with usage of
unsubcribe() method.
Thanks
-suresh
> unit/daemonService.unit fails intermittently: 'ran out of time'
> ---------------------------------------------------------------
>
> Key: DERBY-989
> URL: http://issues.apache.org/jira/browse/DERBY-989
> Project: Derby
> Type: Test
> Components: Regression Test Failure
> Versions: 10.2.0.0
> Environment: OS: Solaris 10 3/05 s10_74L2a X86 - SunOS 5.10 Generic, JVM:
> Sun Microsystems Inc. 1.5.0_04
> OS: Solaris 9 9/04 s9s_u7wos_09 SPARC - SunOS 5.9 Generic_118558-11, JVM: Sun
> Microsystems Inc. 1.5.0_03
> OS: Red Hat Enterprise Linux AS release 3 (Taroon Update 4) - Linux
> 2.4.21-27.ELsmp #1 SMP Wed Dec 1 21:50:31 EST 2004 GNU/Linux, JVM: Sun
> Microsystems Inc. 1.5.0_03
> Reporter: Ole Solberg
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Attachments: 989-411220-derbyall_derbyall_unit_unit_derby.log,
> derby-989-testfix.diff, derby-989-testfix.stat, derby-989-timebomb.diff,
> derby-989-timebomb.stat, derby-989-v1.diff, derby-989-v1.stat
>
> "Signature":
> ********* Diff file unit/unit/daemonService.diff
> *** Start: daemonService jdk1.5.0_04 unit:unit 2006-02-14 20:46:42 ***
> 2 del
> < -- Unit Test T_DaemonService finished
> 2 add
> > ran out of time
> > Shutting down due to unit test failure.
> > Exit due to time bomb
> Test Failed.
> *** End: daemonService jdk1.5.0_04 unit:unit 2006-02-14 21:47:13 ***
> http://www.multinet.no/~solberg/public/Apache/Derby/Limited/testSummary-377800.html
> [SunOS-5.10 i86pc-i386]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira