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

ASF GitHub Bot commented on GEODE-292:
--------------------------------------

GitHub user PurelyApplied opened a pull request:

    https://github.com/apache/geode/pull/576

    Geode 2920, 2921, 2922, 2924

    This PR is intended for initial review, not to be actively considered for 
acceptance.  Sufficient testing is still required and `develop` shifted enough 
today that I need to rebase again.
    
    This currently addresses most of the finer-grained security as listed 
[here](https://cwiki.apache.org/confluence/display/GEODE/Finer+grained+security).
  As yet unaddressed remains:
    
    * alter disk-store
    * disconnect
    * echo
    * encrypt password
    * execute function
    * import cluster-configuration
    * DistributedSystemMXBean.backupAllMembers
    
    Additional points of concern:
    * compact offline-disk-store is not actually updated? [None -> None]
    * Should destroy region also require CLUSTER:WRITE:DISK if persistent?
    * These do not exist:
    *    GatewayReceiverMXBean.pause    DATA:MANAGE     CLUSTER:MANAGE:GATEWAY
    *    GatewayReceiverMXBean.rebalance        DATA:MANAGE     
CLUSTER:MANAGE:GATEWAY
    *    GatewayReceiverMXBean.resume   DATA:MANAGE     CLUSTER:MANAGE:GATEWAY
    * `execute function` is listed twice, with different "original" 
permissions.  Do these refer to different executions?
    
    For your convenience, the functional diff is the second commit.  The first 
commit only resolves `imports`, and the third commit is a general cleanup of 
touched files.
    
    ======
    Current commit log:
    
    GEODE-292*: Migration of security from DATA:MANAGE
    
        * DATA:MANAGE -> CLUSTER:MANAGE
        *
        * configure pdx
        * LockServiceMXBean.becomeLockGrantor
        *
        * DATA:MANAGE -> CLUSTER:MANAGE:DISK
        *
        * compact disk-store
        * create disk-store
        * destroy disk-store
        * revoke missing-disk-store
        * DiskStoreMXBean.forceRoll
        * DiskStoreMXBean.forceCompaction
        * DiskStoreMXBean.flush
        * DiskStoreMXBean.setDiskUsageWarningPercentage
        * DiskStoreMXBean.setDiskUsageCriticalPercentage
        * DistributedSystemMXBean.revokeMissingDiskStores
        * MemberMXBean.compactAllDistStores
        *
        * DATA:MANAGE -> CLUSTER:MANAGE:GATEWAY
        *
        * create gateway-receiver
        * create gateway-sender
        * destroy gateway-sender
        * load-balance gateway-sender
        * pause gateway-sender
        * resume gateway-sender
        * start gateway-receiver
        * start gateway-sender
        * stop gateway-receiver
        * stop gateway-sender
        * GatewayReceiverMXBean.start
        * GatewayReceiverMXBean.stop
        * GatewaySenderMXBean.start
        * GatewaySenderMXBean.stop
        * GatewaySenderMXBean.pause
        * GatewaySenderMXBean.resume
        * GatewaySenderMXBean.rebalance
        *
        * DATA:MANAGE -> CLUSTER:MANAGE:JAR
        *
        * create async-event-queue (Requires CLUSTER:WRITE:DISK if persistent)
        * destroy function
        * undeploy
        *
        * DATA:MANAGE -> CLUSTER:MANAGE:QUERY
        *
        * clear defined indexes
        * close durable-client
        * close durable-cq
        * create defined indexes
        * stop continuous-query
        * CacheServerMXBean.closeAllContinuousQuery
        * CacheServerMXBean.closeContinuousQuery
        * DistributedSystemMXBean.setQueryResultSetLimit
        * DistributedSystemMXBean.setQueryCollectionsDepth
        *
        * DATA:READ -> CLUSTER:READ
        *
        * list region
        *
        * DATA:MANAGE -> [None]
        *
        * pdx rename
        *
        * DATA:READ -> DATA:READ and CLUSTER:WRITE:DISK
        *
        * backup disk-store
        *
        * DATA:MANAGE:RegionName -> CLUSTER:MANAGE:QUERY
        *
        * create index
        * create lucene index (also requires CLUSTER:WRITE:DISK)
        * define index
        * destroy lucene index
        *
        * DATA:MANAGE, DATA:WRITE, CLUSTER:MANAGE, and CLUSTER:WRITE -> 
CLUSTER:MANAGE:JAR
        *
        * deploy
        *
        * DATA:MANAGE or DATA:MANAGE:RegionName -> CLUSTER:MANAGE:QUERY
        *
        * destroy index
        *
        * CLUSTER:READ -> CLUSTER:READ:QUERY
        *
        * describe lucene index
        * list lucene indexes
        *
        * DATA:WRITE -> DATA:READ:Region
        *
        * search lucene index
        *
        * DATA:MANAGE -> DATA:MANAGE and CLUSTER:WRITE:DISK if persistent
        * create region

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/PurelyApplied/geode geode-2924

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/geode/pull/576.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #576
    
----
commit d8155ae44e767890790566b66cb7cc5ed7ea0cbc
Author: Patrick Rhomberg <[email protected]>
Date:   2017-06-12T19:14:08Z

    Most of the imports.

commit 49ad4f4144c22ab334f061964b745640cc4664d6
Author: Patrick Rhomberg <[email protected]>
Date:   2017-06-12T19:49:52Z

    GEODE-2924: Migration of security from DATA:MANAGE
    
    * DATA:MANAGE -> CLUSTER:MANAGE
    *
    * configure pdx
    * LockServiceMXBean.becomeLockGrantor
    *
    * DATA:MANAGE -> CLUSTER:MANAGE:DISK
    *
    * compact disk-store
    * create disk-store
    * destroy disk-store
    * revoke missing-disk-store
    * DiskStoreMXBean.forceRoll
    * DiskStoreMXBean.forceCompaction
    * DiskStoreMXBean.flush
    * DiskStoreMXBean.setDiskUsageWarningPercentage
    * DiskStoreMXBean.setDiskUsageCriticalPercentage
    * DistributedSystemMXBean.revokeMissingDiskStores
    * MemberMXBean.compactAllDistStores
    *
    * DATA:MANAGE -> CLUSTER:MANAGE:GATEWAY
    *
    * create gateway-receiver
    * create gateway-sender
    * destroy gateway-sender
    * load-balance gateway-sender
    * pause gateway-sender
    * resume gateway-sender
    * start gateway-receiver
    * start gateway-sender
    * stop gateway-receiver
    * stop gateway-sender
    * GatewayReceiverMXBean.start
    * GatewayReceiverMXBean.stop
    * GatewaySenderMXBean.start
    * GatewaySenderMXBean.stop
    * GatewaySenderMXBean.pause
    * GatewaySenderMXBean.resume
    * GatewaySenderMXBean.rebalance
    *
    * DATA:MANAGE -> CLUSTER:MANAGE:JAR
    *
    * create async-event-queue (Requires CLUSTER:WRITE:DISK if persistent)
    * destroy function
    * undeploy
    *
    * DATA:MANAGE -> CLUSTER:MANAGE:QUERY
    *
    * clear defined indexes
    * close durable-client
    * close durable-cq
    * create defined indexes
    * stop continuous-query
    * CacheServerMXBean.closeAllContinuousQuery
    * CacheServerMXBean.closeContinuousQuery
    * DistributedSystemMXBean.setQueryResultSetLimit
    * DistributedSystemMXBean.setQueryCollectionsDepth
    *
    * DATA:READ -> CLUSTER:READ
    *
    * list region
    *
    * DATA:MANAGE -> [None]
    *
    * pdx rename
    *
    * DATA:READ -> DATA:READ and CLUSTER:WRITE:DISK
    *
    * backup disk-store
    *
    * DATA:MANAGE:RegionName -> CLUSTER:MANAGE:QUERY
    *
    * create index
    * create lucene index (also requires CLUSTER:WRITE:DISK)
    * define index
    * destroy lucene index
    *
    * DATA:MANAGE, DATA:WRITE, CLUSTER:MANAGE, and CLUSTER:WRITE -> 
CLUSTER:MANAGE:JAR
    *
    * deploy
    *
    * DATA:MANAGE or DATA:MANAGE:RegionName -> CLUSTER:MANAGE:QUERY
    *
    * destroy index
    *
    * CLUSTER:READ -> CLUSTER:READ:QUERY
    *
    * describe lucene index
    * list index
    * list lucene indexes
    *
    * DATA:WRITE -> DATA:READ:Region
    *
    * search lucene index
    *
    * DATA:MANAGE -> DATA:MANAGE and CLUSTER:WRITE:DISK if persistent
    * create region

commit b3977c1c15f9dfd7476b1d584d63b78875333504
Author: Patrick Rhomberg <[email protected]>
Date:   2017-06-12T19:42:29Z

    General cleanup of all touched files.

----


> Optimize speed of backup/ restore cache snapshots
> -------------------------------------------------
>
>                 Key: GEODE-292
>                 URL: https://issues.apache.org/jira/browse/GEODE-292
>             Project: Geode
>          Issue Type: Improvement
>          Components: persistence
>    Affects Versions: 1.0.0-incubating
>            Reporter: Wes Williams
>            Assignee: Wes Williams
>              Labels: backups, performance
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> Backup/ restore using snapshots takes a very, very long time when:
> 1) There are a lot of PDXTypes, and
> 2) There are a lot of regions.
> Specifically, it takes 35 minutes to restore only 50MB of unstructured JSON 
> from snapshots. In contrast, it takes only 3 minutes to reload all the data 
> from scratch.
> PROBLEM
> CacheSnapshot loops all regions and saves all cache PDXTypes in every 
> region.gfd. On restore, it reloads all cache PDXTypes again for every region 
> where they only need to be loaded once.  
> SOLUTION
> This JIRA issue will create an option to save PDXTypes only once and reload 
> them once and store only data in the region snapshots. Existing functionality 
> will remain for those who want it.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to