You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Daniel John Debrunner (JIRA)" <ji...@apache.org> on 2008/02/26 01:49:51 UTC

[jira] Created: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
--------------------------------------------------------------------------------------------

                 Key: DERBY-3466
                 URL: https://issues.apache.org/jira/browse/DERBY-3466
             Project: Derby
          Issue Type: Sub-task
          Components: JMX
            Reporter: Daniel John Debrunner
            Priority: Minor


One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572358#action_12572358 ] 

Daniel John Debrunner commented on DERBY-3466:
----------------------------------------------

A simple initial scheme could be to have a system attribute for each MBean registered by Derby. The JMXManagamentService could automatically add this to the ObjectName when MBeans are registered with it. Initially a newly created UUID could be used as the system identifier. I have some code that does this, I'll submit a patch soon.

Future options could allow the application to provide a system identifier in derby.properties.


> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "John H. Embretsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575700#action_12575700 ] 

John H. Embretsen commented on DERBY-3466:
------------------------------------------

My first impression was that the 128-bit identifier kind of clutters the MBean view in JConsole (et. al.), and seems to provide little value as of yet. I'm afraid users will ask themselves what the purpose of this number is. However, I agree it can be useful if a solution for DERBY-1228 is provided*, and that adding such mandatory key properties to all object names later might be more problematic than doing it now.

Making it possible to set a custom identifier (e.g. "myDerbySystem2" instead of a default such as "c013800d-0118-8425-3abf-fffff03de2d0") as a property or something would provide users with an option to reduce the "clutter" somewhat, so I'm all for that.

*) 
So the system identifiers that are now part of all of Derby MBeans' ObjectNames are there in case DERBY-1228 ("Make it possible to run multiple instances of Derby within the same VM") is resolved? Or is it possible to run multiple Derby systems in the same JVM today?


> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Updated: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel John Debrunner updated DERBY-3466:
-----------------------------------------

    Derby Info: [Patch Available]

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Updated: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel John Debrunner updated DERBY-3466:
-----------------------------------------

    Attachment: d3466_mbean_system_id.txt

Patch that adds a runtime system identifier to the ObjectName Derby uses to register MBeans in the form of the key property system.

ManagementMBean gains a getSystemIdentifier method which allows the application registered MBean to obtain the system identifier for the system it is monitoring.

The tests are enhanced to have a utility method that returns a valid ObjectName for the system under test given a set of key properties.

javadoc expanded to explain the system identifier.

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575885#action_12575885 ] 

Daniel John Debrunner commented on DERBY-3466:
----------------------------------------------

> My first impression was that the 128-bit identifier kind of clutters the MBean view in JConsole (et. al.), 

We shouldn't lose sight of the fact that Derby's MBeans are there to provide a management and monitoring *api* for Derby through a standard mechanism (JMX).

Jconsole is just one way of providing a GUI to manipulate these MBeans and is just a general purpose tool, so we shouldn't get too caught up on how they appear in it.

Applications that using Derby are unlikely to show direct representations of the MBeans, instead just making calls to their api attributes and operations. Those applications do need a way of ensuring they are calling the MBean for the correct Derby system, that's really what the system identifier is for, especially in the future when  it may be more typical to support multiple derby instances in a jvm, with the possibility of some of those being "old 10.4" versions.

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576221#action_12576221 ] 

Daniel John Debrunner commented on DERBY-3466:
----------------------------------------------

Currently the system identifier is only exposed through the ManagementMBean (see o.a.d.mbeans.package..html for info)

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>             Fix For: 10.4.0.0
>
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "John H. Embretsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576119#action_12576119 ] 

John H. Embretsen commented on DERBY-3466:
------------------------------------------

I agree we should not put too much effort into how the presentation of Derby's MBeans will look in generic tools without an additional abstraction layer, although I'm sure a large portion of Derby's JMX users will access the beans directly this way, at least to begin with.

One more question:
Other than by accessing Derby's MBeans, how can a user determine the value of the system identifier? Is it being exposed by some other public API as well?

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>             Fix For: 10.4.0.0
>
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Commented: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575717#action_12575717 ] 

Daniel John Debrunner commented on DERBY-3466:
----------------------------------------------

> So the system identifiers that are now part of all of Derby MBeans' ObjectNames are there in case DERBY-1228 ("Make it possible to run multiple instances of Derby within the same VM") is resolved? Or is it possible to run multiple Derby systems in the same JVM today? 


It's possible to run multiple Derby systems today in the same virtual machine using different classloaders. The upgrade test does it.

The key point about DERBY-1228 is running in the same virtual machine with a different configuration, namely derby.system.home, not really the multiple classloader bit.

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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


[jira] Closed: (DERBY-3466) Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel John Debrunner closed DERBY-3466.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 10.4.0.0
       Derby Info:   (was: [Patch Available])

Simple newly created UUID scheme added as system identifier in the ObjectName for each MBean registered by Derby.
Further improvements can be separate issues.

> Investigate ability to run multiple Derby systems in same JVM with different sets of MBeans.
> --------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3466
>                 URL: https://issues.apache.org/jira/browse/DERBY-3466
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JMX
>            Reporter: Daniel John Debrunner
>            Priority: Minor
>             Fix For: 10.4.0.0
>
>         Attachments: d3466_mbean_system_id.txt
>
>
> One of the reasons for JMX was to move away from system properties (specifically derby.system.home) to allow multiple Derby systems running within the same virtual machine. It would be good to get some unique naming/attribute scheme in the ObjectNames up front rather than only have it in some later version.

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