[Design of JBossCache] - Re: New state transfer in JBoss Cache
by manik.surtani@jboss.com
I agree that a solution needs to exist for O/L and P/L as well as MVCC - not only because we don't have MVCC right now, but also because even after we do, people will still have the choice to use the more tried-and-tested O/L and P/L.
Regarding responding positively to a prepare, perhaps I'm missing something here - why would it be wrong for new joiner - D - to respond positively?
Let's look at it the other way around. Why would an existing node, say, C, respond negatively? IMO there are only 2 scenarios where C would respond negatively to a prepare from A:
1. There is another local transaction on C that holds locks on the same data.
2. There is another concurrent prepare, say from B, on the same data.
(Have I missed anything?)
Now neither of these reasons for a negative response to a prepare should apply to the new joiner, D:
1. would never happen since the new joiner hasn't reached the STARTED state and isn't accepting any local transactions.
2. D doesn't care about conflicting remote prepares since at least someone else in the cluster would have detected this and the prepare would roll back anyway. E.g., if A and B broadcast prepares on the same data and D responds positively to both, either A or B will fail on each other's prepares and broadcast a rollback anyway.
Thoughts?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113205#4113205
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113205
18 years, 3 months
[Design the new POJO MicroContainer] - duplicated components in ManagementView
by alex.loubyansky@jboss.com
In the ProfileServiceUnitTestCase I create a new ds deployment. Then I want to get the created component from the management view to check the details.
The ManagementView instance loaded before I created the new ds doesn't see the newly created ds. Although the getDeploymentNames() includes the new -ds.xml. Also the following code
Set<ManagedComponent> comps = mgtView.getComponentsForType(type);
| if(comps != null)
| {
| for(ManagedComponent comp : comps)
| {
| System.out.println("comp: " + comp.getName() + " " + comp.getDeployment().getName());
| }
| }
printed
[junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
| [junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
I thought maybe I should re-load the view. The re-loaded view did contain the newly created ds. And the code above printed
[junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
| [junit] comp: TestLocalTxDs vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/testLocalTxDs-ds.xml
| [junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
| [junit] comp: TestLocalTxDs vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/testLocalTxDs-ds.xml
| [junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
| [junit] comp: DefaultDS vfsfile:/E:/cvsroot/trunk/build/output/jboss-5.0.0.Beta3/server/profileservice/deploy/hsqldb-ds.xml
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113187#4113187
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113187
18 years, 3 months