Hi Shreedhar.
I also try to test members for a join notification in the concurrent case.
In other words, when "A" and "B" joined the group concurrently , some problems also occurred.
(a) sometimes, join notifications are duplicated
(b) sometimes, any member as well as group leader didn't receive some join notifications.
The following is error log.
["A"'s log]
------------------------------------------------------------------------
2008. 6. 10 ¿ÀÈÄ 11:04:58 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 10 ¿ÀÈÄ 11:04:58 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049 group:TestGroup
2008. 6. 10 ¿ÀÈÄ 11:04:58 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 10 ¿ÀÈÄ 11:04:58 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 10 ¿ÀÈÄ 11:04:59 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:04:59 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = e9d80499-0f8b-4e2d-8856-3f31dcc25f96, ServerName = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, ServerName = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:10 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, ServerName = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
------------------------------------------------------------------------
"A" received duplicated JoinNotifications(a2ed5cb6-3cc7-4060-91d6-3fc8b6854049).
["B"'s log]
------------------------------------------------------------------------
2008. 6. 10 ¿ÀÈÄ 11:04:54 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 10 ¿ÀÈÄ 11:04:54 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: e9d80499-0f8b-4e2d-8856-3f31dcc25f96 group:TestGroup
2008. 6. 10 ¿ÀÈÄ 11:04:55 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 10 ¿ÀÈÄ 11:04:55 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 10 ¿ÀÈÄ 11:04:56 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2008. 6. 10 ¿ÀÈÄ 11:04:56 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:01 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:01 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:04 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = true, Signal.getMemberToken() = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, ServerName = e9d80499-0f8b-4e2d-8856-3f31dcc25f96, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
2008. 6. 10 ¿ÀÈÄ 11:05:09 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:09 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:12 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = true, Signal.getMemberToken() = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, ServerName = e9d80499-0f8b-4e2d-8856-3f31dcc25f96, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
2008. 6. 10 ¿ÀÈÄ 11:05:12 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: e9d80499-0f8b-4e2d-8856-3f31dcc25f96, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE2E6E148CC1DB479EA7D0C6A0AF50B5A103
2: MemberId: a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC3B82201E1B545DB8E9ECF621244468F03
2008. 6. 10 ¿ÀÈÄ 11:05:12 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 10 ¿ÀÈÄ 11:05:15 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = true, Signal.getMemberToken() = a2ed5cb6-3cc7-4060-91d6-3fc8b6854049, ServerName = e9d80499-0f8b-4e2d-8856-3f31dcc25f96, Leader = e9d80499-0f8b-4e2d-8856-3f31dcc25f96
------------------------------------------------------------------------
"B" also received duplicated JoinNotifications(a2ed5cb6-3cc7-4060-91d6-3fc8b6854049).
And because "B" is group leader, "B" don't receive own join notification as I reported before.
When "A", "B" and "C" joined the group concurrently, the following is error log
["A"'s log]
------------------------------------------------------------------------
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 197c66d7-f56c-4119-8b1e-18dc330e39d3 group:TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2: MemberId: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE9D818A456DA94CB5B53CB024FD26DA8B03
3: MemberId: 468996ee-2d54-4c58-af46-72d903154e31, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEBCDB7FE3F44D47DE944388A09B8081BE03
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:53 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = true, Signal.getMemberToken() = 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, ServerName = 197c66d7-f56c-4119-8b1e-18dc330e39d3, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
2008. 6. 10 ¿ÀÈÄ 10:17:53 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = true, Signal.getMemberToken() = 468996ee-2d54-4c58-af46-72d903154e31, ServerName = 197c66d7-f56c-4119-8b1e-18dc330e39d3, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
------------------------------------------------------------------------
["B"'s log]
------------------------------------------------------------------------
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b group:TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 10 ¿ÀÈÄ 10:17:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE9D818A456DA94CB5B53CB024FD26DA8B03
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2: MemberId: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE9D818A456DA94CB5B53CB024FD26DA8B03
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = 197c66d7-f56c-4119-8b1e-18dc330e39d3, ServerName = 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2: MemberId: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE9D818A456DA94CB5B53CB024FD26DA8B03
3: MemberId: 468996ee-2d54-4c58-af46-72d903154e31, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEBCDB7FE3F44D47DE944388A09B8081BE03
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = 468996ee-2d54-4c58-af46-72d903154e31, ServerName = 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
------------------------------------------------------------------------
["C"'s log]
------------------------------------------------------------------------
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 468996ee-2d54-4c58-af46-72d903154e31 group:TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 10 ¿ÀÈÄ 10:17:42 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 10 ¿ÀÈÄ 10:17:43 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 468996ee-2d54-4c58-af46-72d903154e31, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEBCDB7FE3F44D47DE944388A09B8081BE03
2008. 6. 10 ¿ÀÈÄ 10:17:43 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2: MemberId: 468996ee-2d54-4c58-af46-72d903154e31, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEBCDB7FE3F44D47DE944388A09B8081BE03
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = 197c66d7-f56c-4119-8b1e-18dc330e39d3, ServerName = 468996ee-2d54-4c58-af46-72d903154e31, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 197c66d7-f56c-4119-8b1e-18dc330e39d3, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE7D33395A50CC479CAA67ACEEEBD3BDDC03
2: MemberId: 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE9D818A456DA94CB5B53CB024FD26DA8B03
3: MemberId: 468996ee-2d54-4c58-af46-72d903154e31, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEBCDB7FE3F44D47DE944388A09B8081BE03
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 10 ¿ÀÈÄ 10:17:47 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: GroupLeader = false, Signal.getMemberToken() = 0c3c5b33-9a7d-4d85-ba1d-7a09a52d4e4b, ServerName = 468996ee-2d54-4c58-af46-72d903154e31, Leader = 197c66d7-f56c-4119-8b1e-18dc330e39d3
------------------------------------------------------------------------
All members missed some join notification.
I also tried to fix these problems.
I think it is so difficult that I explain all contents in detail about solutions.
So I attached patch codes included comments.
When I try to test it, it seems that all problems which I reported till now are fixed.
If you can afford to review these codes, please point out my mistakes.
I hope this patch will be of a little help and I am looking forward to your feedback.
Thanks.
--
Bongjae Chang
----- Original Message -----
From: Bongjae Chang
To: dev_at_shoal.dev.java.net
Sent: Friday, June 06, 2008 1:07 AM
Subject: Re: [Shoal-Dev] Strange behavior about join notifications.
Hi Shreedhar.
I attached my patch. Attached files are MasterNode.java and ClusterViewManager.java
In MasterNode.java, only processMasterNodeResponse() method changed.
In ClusterViewManager.java, setMaster( List , SystemAdvertisement) and addToView( List ) method added newly.
I made effort to preserve original logic and codes if possible.
Thanks.
--
Bongjae Chang
----- Original Message -----
From: Shreedhar Ganapathy
To: dev_at_shoal.dev.java.net
Sent: Thursday, June 05, 2008 11:32 PM
Subject: Re: [Shoal-Dev] Strange behavior about join notifications.
Excellent investigation!
Solution sounds reasonably good.
Could you send us a patch and we can try it out in our internal test setup?
Bongjae Chang wrote:
I reviewed join notification's logic about (b).
(b) when new member joined, this member don't receive some members' join notifications.(In other words, this member receives only own notification and group leader's notification)
This is normal case. e.g) member "B"'s behavior
1. When new member("C") joins the group, the group leader(master) sends MASTERNODERESPONSE to group members with ADD_EVENT(about "C") and own view's snapshot finally.
2. Members receive MASTERNODERESPONSE and process processMasterNodeResponse().
3. In processMasterNodeResponse(), ADD_EVENT notified with master view's snapshot by ClusterViewManager.
4. Then, ViewWindow analyzes the event packet(ADD_EVENT).
5. Finally, members receive a join notification about new member(about "C").
But In new memeber("C"), some problem occurred. There is no logic about notifying other members' ADD_EVENT(about "B")
1. When new member("C") joins the group, the group leader(master) sends MASTERNODERESPONSE to group members with ADD_EVENT and own view's snapshot finally.[same above]
2. "C" receive MASTERNODERESPONSE and process processMasterNodeResponse()[same above]
3. In processMasterNodeResponse(), MASTER_CHANGE_EVENT notified without master view's snapshot because current master is self.
4. Then, ViewWindow analyzes the event packet(MASTER_CHANGE_EVENT). Of course when ViewWindow receives MASTER_CHANGE_EVENT, ViewWindow notifies join notifications based on view history if previous view doesn't have any members. Maybe this is the logic for notifying other members' join notifications in new member("C"). But current view based on event packet(MASTER_CHANGE_EVENT) is not master view unfortunately. Current view has only "C"'s local view(currently only master member and own member added). So only master's join notification occurred.
5. In processMasterNodeResponse(), ADD_EVENT notified with master view's snapshot by ClusterViewManager.[same above]
6. Then, ViewWindow analyzes the event packet(ADD_EVENT).[same above]
7. new member("C") receives own join notification.[same above]
So, I think this problem can be fixed if MASTER_CHANGE_EVENT notified with master view's snapshot above 3. Then above 4, ViewWindow can find that previous view doesn't have other members as well as master member. And then above 5, In processMasterNode(), ClusterViewManager can notifies only ADD_EVENT without master view's snapshot because MASTER_CHANGE_EVENT included master view's snapshot already notified .
Actually, I tried to apply this patch, I could verify that this problem(b) is resolved.
If this issue(b) is indentified as a bug and my suggestion doesn't have a mistake or error logically, I will send the patch code to the dev alias.
Please point out mistakes and I ask you for advice.
Thanks.
--
Bongjae Chang
----- Original Message -----
From: Bongjae Chang
To: dev_at_shoal.dev.java.net
Sent: Thursday, June 05, 2008 2:38 PM
Subject: [Shoal-Dev] Strange behavior about join notifications.
Hi.
When I tried to test join notifications, I found some problems.
Assuming that "A", "B" and "C" are members in "TestGroup". Sometimes when new member join, this member can't receive join notifications of others that already joined.
This scenario is following.
1. First, "A" joined and became a group leader.
2. after 1, "B" joined. Then "B" received "A"'s a join notification and own("C") join notification in "B". No problem.
3. after 2, "C" joined. At this time, "C" must receive "A", "B" and "C" join notifications in "C". But "C" didn't receive "B"'s a join notification.
Like above, assuming that "A", "B", "C" and "D" are members in "TestGroup", "D" didn't receive "B" and "C"'s join notifications.
I think there are some bugs.
(a) above 1, the group leader don't receive own join notification.
(b) above 3, when new member joined, this member don't receive some members' join notifications.(In other words, this member receives only own notification and group leader's notification)
You can also see this result from following logs.
"A"(the group leader): member id="6a92713c-d83e-49a8-8aaa-ad12046a1acb"
"B": member id="77ff0a1c-b9a1-417a-b04c-0028ef6da921"
"C": member id="6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a"
When memebers receive a join notification, "***JoinNotification received: ServerName = [MY_MEMBER_ID], Signal.getMemberToken() = [MEMBER_ID]" printed.
["A"'s log]
------------------------------------------------------------------------
2008. 6. 5 ¿ÀÈÄ 1:36:17 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 5 ¿ÀÈÄ 1:36:18 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 6a92713c-d83e-49a8-8aaa-ad12046a1acb group:TestGroup
2008. 6. 5 ¿ÀÈÄ 1:36:18 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 5 ¿ÀÈÄ 1:36:18 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 5 ¿ÀÈÄ 1:36:18 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
2008. 6. 5 ¿ÀÈÄ 1:36:18 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
2: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 5 ¿ÀÈÄ 1:36:44 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 6a92713c-d83e-49a8-8aaa-ad12046a1acb, Signal.getMemberToken() = 77ff0a1c-b9a1-417a-b04c-0028ef6da921
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE0F6B7D5CD8CC447180F2D059E273AD5103
2: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
3: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 5 ¿ÀÈÄ 1:37:03 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 6a92713c-d83e-49a8-8aaa-ad12046a1acb, Signal.getMemberToken() = 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a
------------------------------------------------------------------------
"A"'s log don't have own join notification(6a92713c-d83e-49a8-8aaa-ad12046a1acb).
["B"'s log]
------------------------------------------------------------------------
2008. 6. 5 ¿ÀÈÄ 1:36:40 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 5 ¿ÀÈÄ 1:36:40 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 77ff0a1c-b9a1-417a-b04c-0028ef6da921 group:TestGroup
2008. 6. 5 ¿ÀÈÄ 1:36:40 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 5 ¿ÀÈÄ 1:36:40 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
2: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 77ff0a1c-b9a1-417a-b04c-0028ef6da921, Signal.getMemberToken() = 6a92713c-d83e-49a8-8aaa-ad12046a1acb
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
2: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 5 ¿ÀÈÄ 1:36:41 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 77ff0a1c-b9a1-417a-b04c-0028ef6da921, Signal.getMemberToken() = 77ff0a1c-b9a1-417a-b04c-0028ef6da921
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE0F6B7D5CD8CC447180F2D059E273AD5103
2: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
3: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 77ff0a1c-b9a1-417a-b04c-0028ef6da921, Signal.getMemberToken() = 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a
------------------------------------------------------------------------
["C"'s log]
------------------------------------------------------------------------
2008. 6. 5 ¿ÀÈÄ 1:36:59 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Starting SimpleJoinTest....
2008. 6. 5 ¿ÀÈÄ 1:36:59 com.sun.enterprise.shoal.jointest.SimpleJoinTest initializeGMS
Á¤º¸: Initializing Shoal for member: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a group:TestGroup
2008. 6. 5 ¿ÀÈÄ 1:36:59 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Registering for group event notifications
2008. 6. 5 ¿ÀÈÄ 1:36:59 com.sun.enterprise.shoal.jointest.SimpleJoinTest runSimpleSample
Á¤º¸: Joining Group TestGroup
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE0F6B7D5CD8CC447180F2D059E273AD5103
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE0F6B7D5CD8CC447180F2D059E273AD5103
2: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : MASTER_CHANGE_EVENT
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, Signal.getMemberToken() = 6a92713c-d83e-49a8-8aaa-ad12046a1acb
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow getMemberTokens
Á¤º¸: GMS View Change Received for group TestGroup : Members in view for (before change analysis) are :
1: MemberId: 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE0F6B7D5CD8CC447180F2D059E273AD5103
2: MemberId: 6a92713c-d83e-49a8-8aaa-ad12046a1acb, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CE15F3706F0E794BF595FCEE9EEA90FCE103
3: MemberId: 77ff0a1c-b9a1-417a-b04c-0028ef6da921, MemberType: CORE, Address: urn:jxta:uuid-0836778E36C54F728D5B934A965395CEC9482BF0C6A44D55B407E7E3A8D1339803
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow newViewObserved
Á¤º¸: Analyzing new membership snapshot received as part of event : ADD_EVENT
2008. 6. 5 ¿ÀÈÄ 1:37:00 com.sun.enterprise.shoal.jointest.SimpleJoinTest$JoinNotificationCallBack processNotification
Á¤º¸: ***JoinNotification received: ServerName = 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a, Signal.getMemberToken() = 6a8e7161-92ef-4b9e-a5e1-d9a8c7665b4a
------------------------------------------------------------------------
"C"'s log don't have "B"'s join notification(77ff0a1c-b9a1-417a-b04c-0028ef6da921).
And I attached a simple test code.
PS) When I call GMSFactory.startGMSModule() without properties param(like null), simple NPE occurred. The following is exception.
------------------------------------------------------------------------
Exception in thread "main" java.lang.NullPointerException
at com.sun.enterprise.jxtamgmt.ClusterManager.<init>(ClusterManager.java:161)
at com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.initializeGroupCommunicationProvider(GroupCommunicationProviderImpl.java:138)
at com.sun.enterprise.ee.cms.impl.jxta.GMSContext.join(GMSContext.java:122)
at com.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl.join(GroupManagementServiceImpl.java:331)
at com.sun.enterprise.shoal.jointest.SimpleJoinTest.runSimpleSample(SimpleJoinTest.java:40)
at com.sun.enterprise.shoal.jointest.SimpleJoinTest.main(SimpleJoinTest.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
------------------------------------------------------------------------
In ClusterManager.java:161
------------------------------------------------------------------------
this.bindInterfaceAddress = (String)props.get(JxtaConfigConstants.BIND_INTERFACE_ADDRESS.toString());
------------------------------------------------------------------------
Maybe, this is "Fix for the power outage issue"'s side-effect by sheetalv. :-)
--
Bongjae Chang
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_shoal.dev.java.net
For additional commands, e-mail: dev-help_at_shoal.dev.java.net
------------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_shoal.dev.java.net
For additional commands, e-mail: dev-help_at_shoal.dev.java.net