[jira] Updated: (JCRRMI-28) Leaking ServerEvent objects after RMI connection loss

2010-06-04 Thread Jens Theess (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCRRMI-28?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Theess updated JCRRMI-28:
--

Attachment: jcr-rmi.patch

This patch fixes the issue. By implementing the Unreferenced interface, 
ServerSession is notified after java.rmi.dgc.leaseValue expires, and logs 
itself out. At this point, no new instances of 
ServerEventCollection$ServerEvent are created for this session.

 Leaking ServerEvent objects after RMI connection loss
 -

 Key: JCRRMI-28
 URL: https://issues.apache.org/jira/browse/JCRRMI-28
 Project: Jackrabbit JCR-RMI
  Issue Type: Bug
Affects Versions: 1.6.0, 2.1.0
 Environment: Windows 7 Pro x64
 32Bit Java VM
 java version 1.6.0_20
 Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
 Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Reporter: Jens Theess
 Attachments: jcr-rmi.patch, RMI-Test.zip


 When an RMI connection is crashes, or the client is terminated without 
 calling session.logout(), the server leaks 
 ServerEventCollection$ServerEvent objects.
 Attached is a zip with two java programs that demonstrate the behaviour. 
 Steps to reproduce:
 * Open a cmd shell
 * cd jcrserver
 * mvn compile
 * SET MAVEN_OPTS=-Djava.rmi.dgc.leaseValue=1  mvn exec:java 
 -Dexec.mainClass=RMIServer
 * Open another cmd shell
 * cd jcrrmiclient
 * mvn compile
 * mvn exec:java -Dexec.mainClass=RMIClient
 Watch the heap:
 * Start VisualVM (you'll need the VisualVM-Sampler plugin)
 * Go to the RMIServer process.
 * Open the Sampler tab and sample Memory.
 * In the filter enter ServerEvent.
 You'll now see the number of ServerEvents (also _Stub and _Skel) steadily 
 increasing.
 * Quit the RMIClient using Ctrl-C.
 The number of ServerEvents is still increasing, even after the RMI lease time 
 expires.
 If, instead of being killed, the client calls session.logout(), the server 
 stops producing new ServerEvent instances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Issue Comment Edited: (JCRRMI-28) Leaking ServerEvent objects after RMI connection loss

2010-06-04 Thread Jens Theess (JIRA)

[ 
https://issues.apache.org/jira/browse/JCRRMI-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12875532#action_12875532
 ] 

Jens Theess edited comment on JCRRMI-28 at 6/4/10 4:58 AM:
---

This patch for 1.5.7 fixes the issue. By implementing the Unreferenced 
interface, ServerSession is notified after java.rmi.dgc.leaseValue expires, and 
logs itself out. At this point, no new instances of 
ServerEventCollection$ServerEvent are created for this session.

  was (Author: jenstheess):
This patch fixes the issue. By implementing the Unreferenced interface, 
ServerSession is notified after java.rmi.dgc.leaseValue expires, and logs 
itself out. At this point, no new instances of 
ServerEventCollection$ServerEvent are created for this session.
  
 Leaking ServerEvent objects after RMI connection loss
 -

 Key: JCRRMI-28
 URL: https://issues.apache.org/jira/browse/JCRRMI-28
 Project: Jackrabbit JCR-RMI
  Issue Type: Bug
Affects Versions: 1.6.0, 2.1.0
 Environment: Windows 7 Pro x64
 32Bit Java VM
 java version 1.6.0_20
 Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
 Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Reporter: Jens Theess
 Attachments: jcr-rmi.patch, RMI-Test.zip


 When an RMI connection is crashes, or the client is terminated without 
 calling session.logout(), the server leaks 
 ServerEventCollection$ServerEvent objects.
 Attached is a zip with two java programs that demonstrate the behaviour. 
 Steps to reproduce:
 * Open a cmd shell
 * cd jcrserver
 * mvn compile
 * SET MAVEN_OPTS=-Djava.rmi.dgc.leaseValue=1  mvn exec:java 
 -Dexec.mainClass=RMIServer
 * Open another cmd shell
 * cd jcrrmiclient
 * mvn compile
 * mvn exec:java -Dexec.mainClass=RMIClient
 Watch the heap:
 * Start VisualVM (you'll need the VisualVM-Sampler plugin)
 * Go to the RMIServer process.
 * Open the Sampler tab and sample Memory.
 * In the filter enter ServerEvent.
 You'll now see the number of ServerEvents (also _Stub and _Skel) steadily 
 increasing.
 * Quit the RMIClient using Ctrl-C.
 The number of ServerEvents is still increasing, even after the RMI lease time 
 expires.
 If, instead of being killed, the client calls session.logout(), the server 
 stops producing new ServerEvent instances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (JCRRMI-28) Leaking ServerEvent objects after RMI connection loss

2010-06-04 Thread Jens Theess (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCRRMI-28?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Theess updated JCRRMI-28:
--

   Status: Patch Available  (was: Open)
Fix Version/s: 1.6.0

The patch fixes the issue for jackrabbit-jcr-rmi 1.5.0. It can trivially be 
ported to 2.1.0.

 Leaking ServerEvent objects after RMI connection loss
 -

 Key: JCRRMI-28
 URL: https://issues.apache.org/jira/browse/JCRRMI-28
 Project: Jackrabbit JCR-RMI
  Issue Type: Bug
Affects Versions: 1.6.0, 2.1.0
 Environment: Windows 7 Pro x64
 32Bit Java VM
 java version 1.6.0_20
 Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
 Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Reporter: Jens Theess
 Fix For: 1.6.0

 Attachments: jcr-rmi.patch, RMI-Test.zip


 When an RMI connection is crashes, or the client is terminated without 
 calling session.logout(), the server leaks 
 ServerEventCollection$ServerEvent objects.
 Attached is a zip with two java programs that demonstrate the behaviour. 
 Steps to reproduce:
 * Open a cmd shell
 * cd jcrserver
 * mvn compile
 * SET MAVEN_OPTS=-Djava.rmi.dgc.leaseValue=1  mvn exec:java 
 -Dexec.mainClass=RMIServer
 * Open another cmd shell
 * cd jcrrmiclient
 * mvn compile
 * mvn exec:java -Dexec.mainClass=RMIClient
 Watch the heap:
 * Start VisualVM (you'll need the VisualVM-Sampler plugin)
 * Go to the RMIServer process.
 * Open the Sampler tab and sample Memory.
 * In the filter enter ServerEvent.
 You'll now see the number of ServerEvents (also _Stub and _Skel) steadily 
 increasing.
 * Quit the RMIClient using Ctrl-C.
 The number of ServerEvents is still increasing, even after the RMI lease time 
 expires.
 If, instead of being killed, the client calls session.logout(), the server 
 stops producing new ServerEvent instances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (JCRRMI-28) Leaking ServerEvent objects after RMI connection loss

2010-05-18 Thread Jens Theess (JIRA)
Leaking ServerEvent objects after RMI connection loss
-

 Key: JCRRMI-28
 URL: https://issues.apache.org/jira/browse/JCRRMI-28
 Project: Jackrabbit JCR-RMI
  Issue Type: Bug
Affects Versions: 1.6.0, 2.1.0
 Environment: Windows 7 Pro x64

32Bit Java VM
java version 1.6.0_20
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Reporter: Jens Theess
 Attachments: RMI-Test.zip

When an RMI connection is crashes, or the client is terminated without calling 
session.logout(), the server leaks ServerEventCollection$ServerEvent objects.

Attached is a zip with two java programs that demonstrate the behaviour. Steps 
to reproduce:
* Open a cmd shell
* cd jcrserver
* mvn compile
* SET MAVEN_OPTS=-Djava.rmi.dgc.leaseValue=1  mvn exec:java 
-Dexec.mainClass=RMIServer

* Open another cmd shell
* cd jcrrmiclient
* mvn compile
* mvn exec:java -Dexec.mainClass=RMIClient

Watch the heap:
* Start VisualVM (you'll need the VisualVM-Sampler plugin)
* Go to the RMIServer process.
* Open the Sampler tab and sample Memory.
* In the filter enter ServerEvent.

You'll now see the number of ServerEvents (also _Stub and _Skel) steadily 
increasing.

* Quit the RMIClient using Ctrl-C.

The number of ServerEvents is still increasing, even after the RMI lease time 
expires.

If, instead of being killed, the client calls session.logout(), the server 
stops producing new ServerEvent instances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (JCRRMI-28) Leaking ServerEvent objects after RMI connection loss

2010-05-18 Thread Jens Theess (JIRA)

 [ 
https://issues.apache.org/jira/browse/JCRRMI-28?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Theess updated JCRRMI-28:
--

Attachment: RMI-Test.zip

 Leaking ServerEvent objects after RMI connection loss
 -

 Key: JCRRMI-28
 URL: https://issues.apache.org/jira/browse/JCRRMI-28
 Project: Jackrabbit JCR-RMI
  Issue Type: Bug
Affects Versions: 1.6.0, 2.1.0
 Environment: Windows 7 Pro x64
 32Bit Java VM
 java version 1.6.0_20
 Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
 Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Reporter: Jens Theess
 Attachments: RMI-Test.zip


 When an RMI connection is crashes, or the client is terminated without 
 calling session.logout(), the server leaks 
 ServerEventCollection$ServerEvent objects.
 Attached is a zip with two java programs that demonstrate the behaviour. 
 Steps to reproduce:
 * Open a cmd shell
 * cd jcrserver
 * mvn compile
 * SET MAVEN_OPTS=-Djava.rmi.dgc.leaseValue=1  mvn exec:java 
 -Dexec.mainClass=RMIServer
 * Open another cmd shell
 * cd jcrrmiclient
 * mvn compile
 * mvn exec:java -Dexec.mainClass=RMIClient
 Watch the heap:
 * Start VisualVM (you'll need the VisualVM-Sampler plugin)
 * Go to the RMIServer process.
 * Open the Sampler tab and sample Memory.
 * In the filter enter ServerEvent.
 You'll now see the number of ServerEvents (also _Stub and _Skel) steadily 
 increasing.
 * Quit the RMIClient using Ctrl-C.
 The number of ServerEvents is still increasing, even after the RMI lease time 
 expires.
 If, instead of being killed, the client calls session.logout(), the server 
 stops producing new ServerEvent instances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.