[JBoss JIRA] (ISPN-1988) coalesce same key writes within a transaction
by Mircea Markus (JIRA)
Mircea Markus created ISPN-1988:
-----------------------------------
Summary: coalesce same key writes within a transaction
Key: ISPN-1988
URL: https://issues.jboss.org/browse/ISPN-1988
Project: Infinispan
Issue Type: Feature Request
Components: Transactions
Affects Versions: 5.1.4.FINAL
Reporter: Mircea Markus
Assignee: Mircea Markus
Fix For: 5.2.0.FINAL
Following code run with optimistic caches:
start tx
put k, v1
put k, v2
put k, v3
commit
Would cause the PrepareCommand that is sent around to contain 3 PutKeyvalueCommands which is sub-optimal. What we can do is to only send the last written value (i.e. k v3) and ignore the previous two (reuse the code in AsyncCacheStore). Besides reducing the payload, from this would benefit the AtomicHashMaps which uses this code quite a lot and also the OptimisticLockingInterceptor which would not attempt to order the keys.
I guess this should be a feature that is disabled by default, as I don't think it is required in general. Might as well be not configurable, enabled by default feature. Comments?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] Created: (ISPN-1116) Version-aware InternalCacheEntries
by Manik Surtani (JIRA)
Version-aware InternalCacheEntries
----------------------------------
Key: ISPN-1116
URL: https://issues.jboss.org/browse/ISPN-1116
Project: Infinispan
Issue Type: Feature Request
Components: Core API
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 5.1.0.BETA1, 5.1.0.Final
This is to support a number of things including eventual consistency as well as tombstones for deleted entries. Further, this version would need to be used when doing MVCC concurrent write comparisons for write skews (and not just a reference check which is done at the moment).
This also would need to be able to use versions provided in a value's metadata (see ISPN-1103)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (ISPN-1883) IllegalStateException during view installation
by Michal Linhard (JIRA)
Michal Linhard created ISPN-1883:
------------------------------------
Summary: IllegalStateException during view installation
Key: ISPN-1883
URL: https://issues.jboss.org/browse/ISPN-1883
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.1.1.FINAL
Reporter: Michal Linhard
Assignee: Manik Surtani
Problem found in this special build from a branch:
http://hudson.qa.jboss.com/hudson/view/EDG6/view/EDG-QE/job/edg-60-build-...
branch: https://github.com/maniksurtani/infinispan/tree/t_st_perf_1
http://hudson.qa.jboss.com/hudson/view/EDG6/view/EDG-REPORTS-RESILIENCE/j...
Installation of view 7 is started on node02, then on node03, on node03 it fails with:
{code}
2012-02-22 13:14:42,296 ERROR [CacheViewsManagerImpl] (CacheViewInstaller-3,edg-perf03-57571) ISPN000172: Failed to prepare view CacheView{viewId=7, members=[edg-perf04-36539, edg-perf03-57571]} for cache testCache, rolling back to view CacheView{viewId=6, members=[edg-perf01-39846, edg-perf02-36519, edg-perf03-57571, edg-perf04-36539]}
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Trying to block write commands but they are already blocked for view 7
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at org.infinispan.cacheviews.CacheViewsManagerImpl.clusterPrepareView(CacheViewsManagerImpl.java:319)
at org.infinispan.cacheviews.CacheViewsManagerImpl.clusterInstallView(CacheViewsManagerImpl.java:250)
at org.infinispan.cacheviews.CacheViewsManagerImpl$ViewInstallationTask.call(CacheViewsManagerImpl.java:876)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: Trying to block write commands but they are already blocked for view 7
at org.infinispan.statetransfer.StateTransferLockImpl.blockNewTransactions(StateTransferLockImpl.java:233)
at org.infinispan.statetransfer.DistributedStateTransferTask.doPerformStateTransfer(DistributedStateTransferTask.java:102)
at org.infinispan.statetransfer.BaseStateTransferTask.performStateTransfer(BaseStateTransferTask.java:93)
at org.infinispan.statetransfer.BaseStateTransferManagerImpl.prepareView(BaseStateTransferManagerImpl.java:294)
at org.infinispan.cacheviews.CacheViewsManagerImpl.handlePrepareView(CacheViewsManagerImpl.java:486)
at org.infinispan.commands.control.CacheViewControlCommand.perform(CacheViewControlCommand.java:125)
at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:95)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:161)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:141)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:447)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:354)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:230)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:543)
at org.jgroups.JChannel.up(JChannel.java:716)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1026)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:881)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
at org.jgroups.protocols.UNICAST.up(UNICAST.java:332)
at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:697)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:559)
at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:167)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:282)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:205)
at org.jgroups.protocols.Discovery.up(Discovery.java:355)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1174)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1722)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1704)
... 3 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] Created: (ISPN-1275) Virtual nodes producing same hash id for two different cluster nodes
by Galder Zamarreño (JIRA)
Virtual nodes producing same hash id for two different cluster nodes
--------------------------------------------------------------------
Key: ISPN-1275
URL: https://issues.jboss.org/browse/ISPN-1275
Project: Infinispan
Issue Type: Bug
Components: Distributed Cache
Affects Versions: 5.0.0.CR8
Reporter: Galder Zamarreño
Assignee: Pete Muir
Priority: Blocker
Fix For: 5.0.0.FINAL
Attachments: hashids.log
While working on ISPN-1273, I've discovered that when virtual nodes are enabled, ConsistentHash.getHashIds(address) can return the same hash for two different cluster nodes. Example: with 500 virtual nodes, both NodeA-23181 and NodeB-39177 produce hash id *5289*.
NodeA-23181:
{code}
2011-07-28 17:27:29,542 1771 TRACE [org.infinispan.server.hotrod.test.HotRodTestingUtil$$anon$1] (main:) Cluster address (NodeA-23181) has these hash ids associated: [40, 82, 89, 117, 131, 145, 194, 203, 245, 275, 331, 432, 443, 464, 497, 510, 518, 528, 535, 541, 607, 613, 623, 627, 632, 663, 672, 676, 720, 743, 811, 859, 867, 884, 900, 966, 998, 1002, 1033, 1045, 1068, 1138, 1166, 1173, 1178, 1196, 1217, 1261, 1278, 1292, 1297, 1303, 1318, 1329, 1346, 1354, 1383, 1391, 1400, 1464, 1476, 1487, 1502, 1554, 1599, 1615, 1635, 1651, 1683, 1704, 1705, 1722, 1766, 1796, 1830, 1832, 1870, 1888, 1899, 1900, 1931, 1932, 1936, 1947, 2008, 2011, 2012, 2015, 2046, 2057, 2067, 2091, 2100, 2106, 2112, 2128, 2133, 2145, 2147, 2149, 2155, 2176, 2217, 2228, 2261, 2322, 2332, 2360, 2415, 2469, 2492, 2503, 2506, 2526, 2537, 2542, 2548, 2551, 2607, 2617, 2678, 2682, 2705, 2712, 2731, 2732, 2773, 2815, 2855, 2856, 2875, 2878, 2890, 2895, 2926, 2928, 2929, 2959, 2979, 2990, 3039, 3050, 3071, 3095, 3106, 3171, 3174, 3176, 3242, 3243, 3278, 3314, 3315, 3347, 3355, 3441, 3497, 3498, 3502, 3522, 3523, 3530, 3579, 3589, 3628, 3667, 3715, 3746, 3763, 3767, 3786, 3788, 3829, 3841, 3861, 3863, 3899, 3902, 3921, 3924, 3937, 3945, 3946, 3952, 3955, 3960, 3986, 3987, 4062, 4066, 4120, 4122, 4126, 4132, 4142, 4145, 4147, 4223, 4224, 4241, 4245, 4266, 4289, 4303, 4318, 4346, 4348, 4384, 4390, 4400, 4401, 4417, 4429, 4453, 4467, 4490, 4501, 4521, 4527, 4551, 4569, 4572, 4578, 4588, 4597, 4600, 4644, 4652, 4658, 4687, 4728, 4761, 4775, 4798, 4853, 4858, 4880, 4954, 4964, 4990, 5022, 5039, 5117, 5138, 5156, 5173, 5208, 5248, 5289, 5341, 5342, 5345, 5378, 5379, 5388, 5425, 5433, 5438, 5444, 5453, 5459, 5476, 5488, 5566, 5641, 5647, 5690, 5715, 5720, 5727, 5742, 5754, 5786, 5809, 5813, 5820, 5840, 5855, 5863, 5938, 5974, 5982, 5991, 6004, 6005, 6018, 6021, 6025, 6047, 6049, 6052, 6077, 6111, 6117, 6152, 6158, 6179, 6201, 6213, 6222, 6252, 6282, 6299, 6328, 6350, 6361, 6380, 6381, 6427, 6433, 6444, 6450, 6456, 6458, 6468, 6470, 6471, 6488, 6517, 6533, 6538, 6550, 6555, 6562, 6605, 6610, 6612, 6620, 6650, 6653, 6667, 6669, 6737, 6739, 6763, 6775, 6795, 6797, 6880, 6900, 6903, 6936, 6941, 6942, 6980, 6989, 6992, 7001, 7012, 7041, 7073, 7075, 7112, 7130, 7154, 7158, 7160, 7235, 7253, 7254, 7284, 7292, 7296, 7356, 7409, 7442, 7444, 7465, 7483, 7500, 7582, 7599, 7686, 7696, 7700, 7717, 7775, 7781, 7782, 7822, 7828, 7831, 7858, 7870, 7890, 7893, 7894, 7896, 7917, 7942, 8013, 8015, 8072, 8080, 8087, 8170, 8224, 8228, 8229, 8258, 8263, 8265, 8321, 8332, 8337, 8338, 8385, 8411, 8433, 8465, 8483, 8486, 8505, 8525, 8526, 8529, 8545, 8563, 8574, 8592, 8593, 8657, 8658, 8681, 8690, 8691, 8704, 8709, 8788, 8804, 8824, 8858, 8872, 8923, 8925, 8938, 8957, 8982, 8993, 9044, 9057, 9098, 9125, 9133, 9192, 9219, 9228, 9238, 9248, 9265, 9268, 9271, 9297, 9344, 9347, 9368, 9457, 9489, 9490, 9491, 9506, 9529, 9560, 9567, 9586, 9623, 9631, 9636, 9695, 9702, 9707, 9770, 9778, 9787, 9789, 9794, 9801, 9818, 9843, 9852, 9854, 9875, 9876, 9881, 9885, 9897, 9958, 10028, 10036, 10044, 10062, 10078, 10089, 10093, 10120, 10169, 10190, 10214, 10215, 10239]{code}
NodeB-39177:
{code}
2011-07-28 17:27:30,240 2469 TRACE [org.infinispan.server.hotrod.test.HotRodTestingUtil$$anon$1] (main:) Cluster address (NodeB-39177) has these hash ids associated: [41, 67, 91, 93, 134, 178, 195, 239, 258, 298, 324, 343, 459, 468, 475, 595, 637, 647, 648, 664, 684, 694, 713, 744, 745, 765, 772, 787, 857, 868, 885, 887, 921, 924, 927, 931, 952, 971, 1035, 1036, 1062, 1090, 1114, 1119, 1122, 1139, 1151, 1176, 1182, 1184, 1194, 1218, 1224, 1241, 1319, 1328, 1350, 1363, 1369, 1381, 1420, 1426, 1427, 1428, 1588, 1589, 1592, 1604, 1650, 1652, 1672, 1689, 1762, 1778, 1791, 1797, 1828, 1834, 1878, 1891, 1944, 1950, 1974, 1995, 1999, 2023, 2029, 2072, 2101, 2103, 2107, 2120, 2144, 2164, 2180, 2184, 2202, 2212, 2214, 2290, 2307, 2313, 2318, 2323, 2324, 2364, 2365, 2367, 2375, 2386, 2468, 2470, 2489, 2500, 2541, 2577, 2612, 2613, 2643, 2660, 2671, 2690, 2728, 2845, 2858, 2864, 2896, 2916, 2922, 2937, 2955, 2963, 2976, 2991, 3010, 3014, 3048, 3063, 3077, 3078, 3097, 3103, 3138, 3141, 3175, 3198, 3206, 3211, 3225, 3244, 3255, 3259, 3262, 3264, 3267, 3269, 3326, 3363, 3379, 3448, 3463, 3482, 3524, 3549, 3550, 3551, 3556, 3568, 3574, 3580, 3612, 3613, 3619, 3622, 3625, 3627, 3629, 3649, 3650, 3691, 3705, 3757, 3782, 3840, 3850, 3864, 3877, 3896, 3922, 3923, 3962, 3988, 3998, 4070, 4074, 4146, 4152, 4154, 4188, 4284, 4329, 4330, 4334, 4353, 4373, 4396, 4419, 4463, 4487, 4503, 4517, 4523, 4525, 4562, 4580, 4581, 4592, 4636, 4637, 4703, 4706, 4707, 4815, 4903, 4920, 4926, 4944, 4946, 5004, 5061, 5063, 5118, 5148, 5157, 5271, 5289, 5297, 5328, 5360, 5420, 5435, 5457, 5462, 5536, 5572, 5573, 5619, 5627, 5642, 5649, 5695, 5712, 5734, 5748, 5749, 5766, 5776, 5787, 5791, 5801, 5826, 5829, 5856, 5869, 5874, 5882, 5883, 5910, 6069, 6100, 6106, 6107, 6124, 6130, 6139, 6141, 6173, 6192, 6204, 6234, 6235, 6279, 6303, 6324, 6334, 6335, 6340, 6343, 6372, 6390, 6408, 6413, 6418, 6419, 6438, 6472, 6473, 6477, 6521, 6575, 6578, 6589, 6598, 6613, 6614, 6648, 6654, 6681, 6706, 6733, 6751, 6796, 6799, 6882, 6943, 6944, 6954, 6978, 6996, 7010, 7016, 7042, 7088, 7097, 7109, 7118, 7149, 7186, 7222, 7234, 7279, 7281, 7295, 7312, 7315, 7337, 7351, 7360, 7386, 7478, 7482, 7492, 7544, 7552, 7564, 7591, 7598, 7619, 7622, 7629, 7630, 7634, 7642, 7647, 7656, 7661, 7675, 7715, 7728, 7787, 7811, 7835, 7842, 7863, 7895, 7897, 7936, 7940, 7970, 7994, 8009, 8010, 8028, 8035, 8036, 8051, 8073, 8104, 8105, 8128, 8129, 8153, 8157, 8165, 8191, 8225, 8230, 8239, 8242, 8286, 8287, 8290, 8291, 8320, 8331, 8339, 8343, 8344, 8360, 8370, 8386, 8388, 8451, 8456, 8461, 8475, 8487, 8509, 8527, 8538, 8552, 8568, 8615, 8641, 8654, 8661, 8705, 8706, 8745, 8748, 8766, 8771, 8786, 8873, 8878, 8889, 8893, 8909, 8916, 8917, 8921, 8936, 9001, 9030, 9050, 9077, 9104, 9108, 9109, 9126, 9127, 9146, 9171, 9177, 9183, 9206, 9224, 9225, 9229, 9264, 9281, 9314, 9316, 9363, 9414, 9471, 9474, 9498, 9510, 9517, 9525, 9551, 9585, 9605, 9608, 9609, 9632, 9643, 9651, 9652, 9661, 9686, 9694, 9709, 9723, 9733, 9814, 9826, 9866, 9880, 9921, 9929, 9965, 9966, 9969, 9970, 9986, 9998, 10024, 10025, 10109, 10149, 10151, 10167, 10176, 10184, 10195, 10206, 10212, 10217]{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] Created: (ISPN-871) Out-of-heap data container implementation
by Manik Surtani (JIRA)
Out-of-heap data container implementation
-----------------------------------------
Key: ISPN-871
URL: https://issues.jboss.org/browse/ISPN-871
Project: Infinispan
Issue Type: Feature Request
Components: Core API
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 5.1.0.BETA1, 5.1.0.Final
The DataContainer interface could be implemented using a off-heap impl in C, using mmap. It would require custom memory management (gc-lite?) to reclaim free space, as well as reimplementing of eviction algorithms to maintain the contract of a self-sizing data container, but the benefits of this would be the ability to address very large amounts of memory with minimal gc overhead from the JVM.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months