[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16428993#comment-16428993 ] ASF subversion and git services commented on GEODE-4119: Commit 5df2a690ed6ee8ecfd0991e07e055d07efb262af in geode-examples's branch refs/heads/master from [~PivotalSarge] [ https://gitbox.apache.org/repos/asf?p=geode-examples.git;h=5df2a69 ] GEODE-4119: Add an example of eviction. This closes #43 > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge >Priority: Major > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16428992#comment-16428992 ] ASF subversion and git services commented on GEODE-4119: Commit 58eb042941fe8624bf4f70e794ff727a9cfcda4b in geode-examples's branch refs/heads/master from [~PivotalSarge] [ https://gitbox.apache.org/repos/asf?p=geode-examples.git;h=58eb042 ] GEODE-4119: Add an example of eviction. > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge >Priority: Major > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16322788#comment-16322788 ] ASF subversion and git services commented on GEODE-4119: Commit 5df2a690ed6ee8ecfd0991e07e055d07efb262af in geode-examples's branch refs/heads/develop from [~PivotalSarge] [ https://gitbox.apache.org/repos/asf?p=geode-examples.git;h=5df2a69 ] GEODE-4119: Add an example of eviction. This closes #43 > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16322585#comment-16322585 ] ASF subversion and git services commented on GEODE-4119: Commit 58eb042941fe8624bf4f70e794ff727a9cfcda4b in geode-examples's branch refs/heads/develop from [~PivotalSarge] [ https://gitbox.apache.org/repos/asf?p=geode-examples.git;h=58eb042 ] GEODE-4119: Add an example of eviction. > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16322584#comment-16322584 ] ASF GitHub Bot commented on GEODE-4119: --- upthewaterspout closed pull request #42: GEODE-4119: Add an example of eviction. URL: https://github.com/apache/geode-examples/pull/42 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/README.md b/README.md index e77194b..5be09cf 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ tutorial. * [Async Event Queues & Async Event Listeners](async/README.md) * Continuous Querying * Transactions -* Eviction +* [Eviction](eviction/README.md) * Expiration * Overflow * Security diff --git a/eviction/README.md b/eviction/README.md new file mode 100644 index 000..239a944 --- /dev/null +++ b/eviction/README.md @@ -0,0 +1,53 @@ + + +# Geode Eviction Example + +This is a simple example that demonstrates eviction of entries from a region. This allows control +over the system resources consumed by any given region. + +A region is a collection of entries which are tuples of key and value. Each entry requires memory +for the key object, the value object, and some overhead. Regions that contain a large number of +entries, entries of a large size, or both can consume enough system resources to impact overall +system performance, even for other regions. + +A region can have eviction enabled to enforce an upper limit on either the total number of entries +_or_ the total amount of memory consumed by the entries. The region will then enforce the specified +limits on its in-memory resource consumption. When an operation would exceed those limits, the +region will take an action to assure that the limits will not be exceeded after the operation +completes. The region can either destroy one or more entries or overflow one or more entries to disk. + +This example assumes you have installed Java and Geode. + +## Steps + +1. From the `geode-examples/eviction` directory, build the example and + run unit tests. + +$ ../gradlew build + +2. Next start a locator, start a server, and create a region. + +$ gfsh run --file=scripts/start.gfsh + +3. Run the example to demonstrate eviction. + +$ ../gradlew run + +4. Shut down the system. + +$ gfsh run --file=scripts/stop.gfsh diff --git a/eviction/scripts/start.gfsh b/eviction/scripts/start.gfsh new file mode 100755 index 000..163aae9 --- /dev/null +++ b/eviction/scripts/start.gfsh @@ -0,0 +1,25 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +start locator --name=locator --bind-address=127.0.0.1 +start server --name=server1 --locators=127.0.0.1[10334] --server-port=0 --classpath=../build/classes/main +start server --name=server2 --locators=127.0.0.1[10334] --server-port=0 --classpath=../build/classes/main +list members + +create region --name=example-region --type=REPLICATE --skip-if-exists=true \ +--eviction-entry-count=10 --eviction-action=local-destroy +describe region --name=example-region diff --git a/eviction/scripts/stop.gfsh b/eviction/scripts/stop.gfsh new file mode 100755 index 000..15cd93c --- /dev/null +++ b/eviction/scripts/stop.gfsh @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16311947#comment-16311947 ] ASF GitHub Bot commented on GEODE-4119: --- PivotalSarge opened a new pull request #42: GEODE-4119: Add an example of eviction. URL: https://github.com/apache/geode-examples/pull/42 Create new geode-example about eviction using entry-count, local-destroy eviction. @upthewaterspout This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16311946#comment-16311946 ] ASF GitHub Bot commented on GEODE-4119: --- PivotalSarge closed pull request #41: GEODE-4119: Add an example of eviction. URL: https://github.com/apache/geode-examples/pull/41 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/README.md b/README.md index e77194b..5be09cf 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ tutorial. * [Async Event Queues & Async Event Listeners](async/README.md) * Continuous Querying * Transactions -* Eviction +* [Eviction](eviction/README.md) * Expiration * Overflow * Security diff --git a/eviction/README.md b/eviction/README.md new file mode 100644 index 000..9606434 --- /dev/null +++ b/eviction/README.md @@ -0,0 +1,53 @@ + + +# Geode Eviction Example + +This is a simple example that demonstrates eviction of entries from a region. This allows control +over the system resources consumed by any given region. + +A region is a collection of entries which are tuples of key and value. Each entry requires memory +for the key object, the value object, and some overhead. Regions that contain a large number of +entries, entries of a large size, or both can consume enough system resources to impact overall +system performance, even for other regions. + +A region can have eviction enabled to enforce an upper limit on either the total number of entries +_or_ the total amount of memory consumed by the entries. The region will then ensure the specified +limits on its in-memory resource consumption. When an operation would exceed those limits, the +region will take an action to assure that the limits will not be exceeded after the operation +completes. The region can either destroy one or more entries or overflow one or more entries to disk. + +This example assumes you have installed Java and Geode. + +## Steps + +1. From the `geode-examples/eviction` directory, build the example and + run unit tests. + +$ ../gradlew build + +2. Next start a locator, start a server, and create a region. + +$ gfsh run --file=scripts/start.gfsh + +3. Run the example to demonstrate eviction. + +$ ../gradlew run + +4. Shut down the system. + +$ gfsh run --file=scripts/stop.gfsh diff --git a/eviction/scripts/start.gfsh b/eviction/scripts/start.gfsh new file mode 100755 index 000..163aae9 --- /dev/null +++ b/eviction/scripts/start.gfsh @@ -0,0 +1,25 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +start locator --name=locator --bind-address=127.0.0.1 +start server --name=server1 --locators=127.0.0.1[10334] --server-port=0 --classpath=../build/classes/main +start server --name=server2 --locators=127.0.0.1[10334] --server-port=0 --classpath=../build/classes/main +list members + +create region --name=example-region --type=REPLICATE --skip-if-exists=true \ +--eviction-entry-count=10 --eviction-action=local-destroy +describe region --name=example-region diff --git a/eviction/scripts/stop.gfsh b/eviction/scripts/stop.gfsh new file mode 100755 index 000..15cd93c --- /dev/null +++ b/eviction/scripts/stop.gfsh @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing
[jira] [Commented] (GEODE-4119) Create new geode-example about eviction
[ https://issues.apache.org/jira/browse/GEODE-4119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16311926#comment-16311926 ] ASF GitHub Bot commented on GEODE-4119: --- PivotalSarge opened a new pull request #41: GEODE-4119: Add an example of eviction. URL: https://github.com/apache/geode-examples/pull/41 Create new geode-example about eviction using entry-count, local-destroy eviction. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create new geode-example about eviction > --- > > Key: GEODE-4119 > URL: https://issues.apache.org/jira/browse/GEODE-4119 > Project: Geode > Issue Type: New Feature > Components: examples >Reporter: Michael Dodge >Assignee: Michael Dodge > > Create a new example that demonstrates eviction. -- This message was sent by Atlassian JIRA (v6.4.14#64029)