[
https://issues.apache.org/jira/browse/OAK-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921877#comment-13921877
]
Tobias Bocanegra edited comment on OAK-1471 at 3/6/14 6:44 PM:
---------------------------------------------------------------
here's the result on my box before the changes:
{noformat}
Benchmarks: ConcurrentEveryoneACLTest (oak 0.19-SNAPSHOT with everyone cache.
modcount)
Fixtures: Oak-Tar
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: false on Oak-Tar
-----------------------------------------------------------
# ConcurrentEveryoneACLTest , C, min, 10%, 50%, 90%, max,
N
Oak-Tar , 1, 11, 12, 13, 14, 19,
391
Oak-Tar , 2, 12, 13, 14, 17, 27,
675
Oak-Tar , 4, 15, 16, 19, 23, 55,
1020
Oak-Tar , 8, 31, 50, 53, 56, 114,
743
Oak-Tar , 10, 56, 66, 70, 76, 142,
708
Oak-Tar , 15, 74, 104, 110, 117, 132,
687
Oak-Tar , 20, 92, 136, 145, 154, 169,
698
Oak-Tar , 50, 156, 353, 384, 411, 476,
670
{noformat}
{noformat}
Benchmarks: ConcurrentReadAccessControlledTreeTest (oak 0.19-SNAPSHOT with
everyone cache. modcount)
Fixtures: Oak-Tar
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: false on Oak-Tar
-----------------------------------------------------------
# ConcurrentReadAccessContro, C, min, 10%, 50%, 90%, max,
N
Oak-Tar , 1, 21, 22, 22, 24, 27,
221
Oak-Tar , 2, 27, 37, 57, 90, 133,
168
Oak-Tar , 4, 30, 43, 96, 223, 538,
173
Oak-Tar , 8, 27, 80, 202, 400, 883,
178
Oak-Tar , 10, 28, 86, 253, 485, 935,
177
Oak-Tar , 15, 27, 120, 381, 767, 1557,
183
Oak-Tar , 20, 33, 150, 536, 980, 2185,
188
Oak-Tar , 50, 28, 337, 1349, 2518, 4114,
210
{noformat}
{noformat}
Benchmarks: ConcurrentWriteACLTest (0.19-SNAPSHOT, with modcount)
Fixtures: Oak-Mongo
Admin User: true
Runtime: 10
Num Items: 10
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: true on Oak-Mongo
-----------------------------------------------------------
# ConcurrentWriteACLTest , C, min, 10%, 50%, 90%, max,
N
Oak-Mongo , 1, 48, 58, 66, 77, 96,
150
Oak-Mongo , 2, 46, 54, 63, 81, 5765,
155
Oak-Mongo , 4, 49, 56, 68, 90, 10191,
149
Oak-Mongo , 8, 51, 57, 70, 2193, 9824,
148
Oak-Mongo , 10, 48, 59, 72, 2095, 10714,
148
Oak-Mongo , 15, 50, 62, 79, 4674, 12190,
140
Oak-Mongo , 20, 53, 64, 89, 5161, 12682,
135
Oak-Mongo , 50, 60, 76, 4244, 11767, 15224,
129
{noformat}
{noformat}
Model Name: MacBook Pro
Model Identifier: MacBookPro10,1
Processor Name: Intel Core i7
Processor Speed: 2.6 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
{noformat}
was (Author: tripod):
here's the result on my box before the changes:
{noformat}
Benchmarks: ConcurrentEveryoneACLTest (oak 0.19-SNAPSHOT with everyone cache.
modcount)
Fixtures: Oak-Tar
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: false on Oak-Tar
-----------------------------------------------------------
# ConcurrentEveryoneACLTest , C, min, 10%, 50%, 90%, max,
N
Oak-Tar , 1, 11, 12, 13, 14, 19,
391
Oak-Tar , 2, 12, 13, 14, 17, 27,
675
Oak-Tar , 4, 15, 16, 19, 23, 55,
1020
Oak-Tar , 8, 31, 50, 53, 56, 114,
743
Oak-Tar , 10, 56, 66, 70, 76, 142,
708
Oak-Tar , 15, 74, 104, 110, 117, 132,
687
Oak-Tar , 20, 92, 136, 145, 154, 169,
698
Oak-Tar , 50, 156, 353, 384, 411, 476,
670
{noformat}
{noformat}
Benchmarks: ConcurrentReadAccessControlledTreeTest (oak 0.19-SNAPSHOT with
everyone cache. modcount)
Fixtures: Oak-Tar
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: false on Oak-Tar
-----------------------------------------------------------
# ConcurrentReadAccessContro, C, min, 10%, 50%, 90%, max,
N
Oak-Tar , 1, 21, 22, 22, 24, 27,
221
Oak-Tar , 2, 27, 37, 57, 90, 133,
168
Oak-Tar , 4, 30, 43, 96, 223, 538,
173
Oak-Tar , 8, 27, 80, 202, 400, 883,
178
Oak-Tar , 10, 28, 86, 253, 485, 935,
177
Oak-Tar , 15, 27, 120, 381, 767, 1557,
183
Oak-Tar , 20, 33, 150, 536, 980, 2185,
188
Oak-Tar , 50, 28, 337, 1349, 2518, 4114,
210
{noformat}
{noformat}
Benchmarks: ConcurrentWriteACLTest (oak 0.19-SNAPSHOT with everyone cache.
modcount)
Fixtures: Oak-Mongo
Runtime: 5
Num Items: 1000
Concurrency: 1,2,4,8,10,15,20,50
--------------------------------------
Executing benchmarks as admin: true on Oak-Mongo
-----------------------------------------------------------
# ConcurrentWriteACLTest , C, min, 10%, 50%, 90%, max,
N
Oak-Mongo , 1, 106, 116, 128, 150, 177,
39
Oak-Mongo , 2, 102, 115, 134, 176, 3884,
37
Oak-Mongo , 4, 104, 115, 128, 1102, 5247,
41
Oak-Mongo , 8, 100, 113, 141, 4939, 7007,
43
Oak-Mongo , 10, 109, 116, 148, 5188, 8653,
44
Oak-Mongo , 15, 116, 123, 487, 5882, 9564,
45
Oak-Mongo , 20, 117, 126, 633, 6923, 10488,
51
Oak-Mongo , 50, 140, 167, 9123, 12829, 14685,
65
{noformat}
{noformat}
Model Name: MacBook Pro
Model Identifier: MacBookPro10,1
Processor Name: Intel Core i7
Processor Speed: 2.6 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
{noformat}
> Mod count in permission store requires cluster wide synchronization
> -------------------------------------------------------------------
>
> Key: OAK-1471
> URL: https://issues.apache.org/jira/browse/OAK-1471
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Reporter: Marcel Reutegger
> Assignee: Tobias Bocanegra
> Priority: Critical
> Fix For: 0.19
>
> Attachments: OAK-1471.patch
>
>
> The current permission store implementation keeps a mod count property on
> some of the nodes to detect changes and update/invalidate a cache when
> required. In general this introduces a contention point when there are
> concurrent modifications of access control entries for a given user. Those
> concurrent changes may introduce conflicts and commits may have to be retried
> after a rebase. This still works somewhat OK when there is just a single oak
> instance, because both segment and document store implementation will
> eventually fall back to locking and serialize the commits. However, it does
> not work well in a cluster, unless we apply the same locking cluster wide.
> See also discussion here:
> http://markmail.org/message/k64udmgc3ctaqmn2
--
This message was sent by Atlassian JIRA
(v6.2#6252)