[ 
https://issues.apache.org/jira/browse/OAK-1471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13922941#comment-13922941
 ] 

Tobias Bocanegra commented on OAK-1471:
---------------------------------------

Benchmarks with upcoming solution:

{noformat}
Benchmarks: ConcurrentEveryoneACLTest (0.19-SNAPSHOT, no cache, no modcount)
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,     18,     18,     19,     22,     24,   
 257
Oak-Tar                     ,      2,     20,     21,     22,     24,     45,   
 452
Oak-Tar                     ,      4,     24,     26,     28,     31,     38,   
 707
Oak-Tar                     ,      8,     45,     95,     98,    102,    109,   
 409
Oak-Tar                     ,     10,     52,    118,    122,    129,    197,   
 405
Oak-Tar                     ,     15,     99,    180,    189,    265,    300,   
 382
Oak-Tar                     ,     20,    206,    236,    248,    326,    365,   
 392
Oak-Tar                     ,     50,    518,    605,    697,    759,    795,   
 400
{noformat}

{noformat}
Benchmarks: ConcurrentReadAccessControlledTreeTest (0.19-SNAPSHOT, no cache, no 
modcount)
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,     20,     21,     22,     24,     26,   
 226
Oak-Tar                     ,      2,     28,     33,     55,     86,    126,   
 173
Oak-Tar                     ,      4,     28,     49,     97,    201,    364,   
 178
Oak-Tar                     ,      8,     27,     72,    189,    406,    938,   
 181
Oak-Tar                     ,     10,     27,    104,    245,    473,   1015,   
 182
Oak-Tar                     ,     15,     32,    120,    369,    762,   1442,   
 187
Oak-Tar                     ,     20,     29,    189,    517,    968,   2185,   
 192
Oak-Tar                     ,     50,     30,    316,   1265,   2386,   3672,   
 213
{noformat}

{noformat}
Benchmarks: ConcurrentWriteACLTest (0.19-SNAPSHOT, no cache, no modcount)
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,     44,     48,     54,     62,     81,   
 183
Oak-Mongo                   ,      2,     51,     59,     68,     82,    111,   
 289
Oak-Mongo                   ,      4,     79,    100,    123,    156,    444,   
 310
Oak-Mongo                   ,      8,    158,    207,    267,    343,    411,   
 301
Oak-Mongo                   ,     10,    250,    324,    410,    524,    632,   
 244
Oak-Mongo                   ,     15,    305,    438,    724,    900,   1065,   
 217
Oak-Mongo                   ,     20,    409,    663,    855,   1053,   1427,   
 239
Oak-Mongo                   ,     50,    646,   1990,   2326,   2816,   3495,   
 239
{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)

Reply via email to