Question about Map indexes

2021-02-11 Thread Alberto Gomez
Hi,

We have observed that creating an index on a Map field causes the creation of 
an index entry for every entry created in the region containing the Map, no 
matter if the Map field contained the key used in the index.
Nevertheless, we would expect that only entries whose Map field contain the key 
used in the index would have the corresponding index entry. With this behavior, 
the memory consumed by the index could be much higher than needed depending on 
the percentage of entries whose Map field contained the key in the index.

---
Example:
We have a region with entries whose key type is a String and the value type is 
an object with a field called "field1" of Map type.

We expect to run queries on the region like the following:

SELECT * from /example-region1 p WHERE p.field1['mapkey1']=$1"

We create a Map index to speed up the above queries:

gfsh> create index --name=myIndex --expression="r.field1['mapkey1']" 
--region="/example-region1 r"

We do the following puts:
- Put entry with key="key1" and with value=
- Put entry with key="key2" and with value=

The observation is that Geode creates two index entries for each entry. For the 
first entry, the internal indexKey is "key1" and for the second one, the 
internal indexKey is null.

These are the stats shown by gfsh after doing the above puts:

gfsh>list indexes --with-stats=yes
Member Name |Member ID|   Region Path|   
Name   | Type  | Indexed Expression  |From Clause | Valid Index | Uses 
| Updates | Update Time | Keys | Values
--- | --- |  | 
 | - | - | -- | 
--- |  | --- | --- |  | --
server1 | 192.168.0.26(server1:1109606):41000 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 1   
 | 1   | 0   | 1| 1
server2 | 192.168.0.26(server2:1109695):41001 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 1   
 | 1   | 0   | 1| 1
---

Is there any reason why Geode would create an index entry for the second entry 
given that the Map field does not contain the key in the Map index?

I have created a draft pull request changing the behavior of Geode to not 
create the index entry when the Map field does not contain the key used in the 
index. Only two Unit test cases had to be adjusted. Please see: 
https://github.com/apache/geode/pull/6028

With this change and the same scenario as the one in the example, only one 
index entry is created. The stats shown by gfsh after the change are the 
following:

gfsh>list indexes --with-stats=yes
Member Name |Member ID|   Region Path|   
Name   | Type  | Indexed Expression  |From Clause | Valid Index | Uses 
| Updates | Update Time | Keys | Values
--- | --- |  | 
 | - | - | -- | 
--- |  | --- | --- |  | --
server1 | 192.168.0.26(server1:1102192):41000 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 2   
 | 1   | 0   | 0| 0
server2 | 192.168.0.26(server2:1102279):41001 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 2   
 | 1   | 0   | 1| 1


Could someone tell if the current behavior is not correct or if I am missing 
something and with the change I am proposing something else will stop working?

Thanks in advance,

/Alberto G.


Need Concourse access, please

2021-02-11 Thread Blake Bender
Hello, may I please have access to the Geode Concourse?

My GitHub username is pdxcodemonkey

Thanks,

Blake



Canceled: apache/geode-examples#513 (support/1.12 - 10fa613)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #513
Status: Canceled

Duration: ?
Commit: 10fa613 (support/1.12)
Author: Owen Nichols
Message: temporarily point to staging repo for CI purposes

View the changeset: 
https://github.com/apache/geode-examples/compare/745588975fcd...10fa613f076b

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216847192?utm_medium=notification&utm_source=email

  Restart your build: 
https://travis-ci.com/github/apache/geode-examples/builds/216847192?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Re: Question about Map indexes

2021-02-11 Thread Jason Huynh
Hi Alberto,

I haven't checked the PR yet, just read through the email.  The first thought 
that comes to mind is when someone does a != query.  The index still has to 
supply the correct answer to the query (all entries with null or undefined 
values possibly)

I'll try to think of other cases where it might matter.  There may be other 
ways to execute the query but it would probably take a bit of reworking.. (ill 
check your pr to see if this is already addressed.   Sorry if it is!)

-Jason

On 2/11/21, 8:28 AM, "Alberto Gomez"  wrote:

Hi,

We have observed that creating an index on a Map field causes the creation 
of an index entry for every entry created in the region containing the Map, no 
matter if the Map field contained the key used in the index.
Nevertheless, we would expect that only entries whose Map field contain the 
key used in the index would have the corresponding index entry. With this 
behavior, the memory consumed by the index could be much higher than needed 
depending on the percentage of entries whose Map field contained the key in the 
index.

---
Example:
We have a region with entries whose key type is a String and the value type 
is an object with a field called "field1" of Map type.

We expect to run queries on the region like the following:

SELECT * from /example-region1 p WHERE p.field1['mapkey1']=$1"

We create a Map index to speed up the above queries:

gfsh> create index --name=myIndex --expression="r.field1['mapkey1']" 
--region="/example-region1 r"

We do the following puts:
- Put entry with key="key1" and with value=
- Put entry with key="key2" and with value=

The observation is that Geode creates two index entries for each entry. For 
the first entry, the internal indexKey is "key1" and for the second one, the 
internal indexKey is null.

These are the stats shown by gfsh after doing the above puts:

gfsh>list indexes --with-stats=yes
Member Name |Member ID|   Region Path|  
 Name   | Type  | Indexed Expression  |From Clause | Valid Index | Uses 
| Updates | Update Time | Keys | Values
--- | --- |  | 
 | - | - | -- | 
--- |  | --- | --- |  | --
server1 | 192.168.0.26(server1:1109606):41000 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 1   
 | 1   | 0   | 1| 1
server2 | 192.168.0.26(server2:1109695):41001 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 1   
 | 1   | 0   | 1| 1
---

Is there any reason why Geode would create an index entry for the second 
entry given that the Map field does not contain the key in the Map index?

I have created a draft pull request changing the behavior of Geode to not 
create the index entry when the Map field does not contain the key used in the 
index. Only two Unit test cases had to be adjusted. Please see: 
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgeode%2Fpull%2F6028&data=04%7C01%7Cjhuynh%40vmware.com%7C0957cc0ef91b4b23116408d8ceaa0a8d%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637486577011301177%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=2WDUj6NPEnfX3AXH72MTZYx%2FbXMPJQlVZeKq7KsJDTw%3D&reserved=0

With this change and the same scenario as the one in the example, only one 
index entry is created. The stats shown by gfsh after the change are the 
following:

gfsh>list indexes --with-stats=yes
Member Name |Member ID|   Region Path|  
 Name   | Type  | Indexed Expression  |From Clause | Valid Index | Uses 
| Updates | Update Time | Keys | Values
--- | --- |  | 
 | - | - | -- | 
--- |  | --- | --- |  | --
server1 | 192.168.0.26(server1:1102192):41000 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 2   
 | 1   | 0   | 0| 0
server2 | 192.168.0.26(server2:1102279):41001 | /example-region1 | 
mapIndex | RANGE | r.field1['mapkey1'] | /example-region1 r | true| 2   
 | 1   | 0   | 1| 1


Could someone tell if the current behavior is not correct or if I am 
missing something and with the change I am proposing something else will stop 
working?

Thanks in advance,

/Alberto G.



Errored: apache/geode-examples#515 (rel/v1.12.1.RC1 - f097cb0)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #515
Status: Errored

Duration: 1 min and 9 secs
Commit: f097cb0 (rel/v1.12.1.RC1)
Author: Owen Nichols
Message: Bumping version to 1.12.1

View the changeset: 
https://github.com/apache/geode-examples/compare/rel/v1.12.1.RC1

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216847221?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Canceled: apache/geode-examples#516 (support/1.12 - 2737dc2)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #516
Status: Canceled

Duration: ?
Commit: 2737dc2 (support/1.12)
Author: Owen Nichols
Message: temporarily point to staging repo for CI purposes

View the changeset: 
https://github.com/apache/geode-examples/compare/d235195a4dd4...2737dc2ff7f4

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216862069?utm_medium=notification&utm_source=email

  Restart your build: 
https://travis-ci.com/github/apache/geode-examples/builds/216862069?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Errored: apache/geode-examples#518 (rel/v1.12.1.RC2 - b88adb4)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #518
Status: Errored

Duration: 1 min and 8 secs
Commit: b88adb4 (rel/v1.12.1.RC2)
Author: Owen Nichols
Message: Revert "temporarily point to staging repo for CI purposes"

View the changeset: 
https://github.com/apache/geode-examples/compare/rel/v1.12.1.RC2

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216862087?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Passed: apache/geode-examples#514 (support/1.12 - d235195)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #514
Status: Passed

Duration: 25 mins and 57 secs
Commit: d235195 (support/1.12)
Author: Owen Nichols
Message: Bumping version to 1.12.1

View the changeset: 
https://github.com/apache/geode-examples/compare/10fa613f076b...d235195a4dd4

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216847219?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Passed: apache/geode-examples#517 (support/1.12 - c4cf1c4)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #517
Status: Passed

Duration: 25 mins and 18 secs
Commit: c4cf1c4 (support/1.12)
Author: Owen Nichols
Message: Bumping version to 1.12.1

View the changeset: 
https://github.com/apache/geode-examples/compare/2737dc2ff7f4...c4cf1c4ef9fc

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216862080?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Canceled: apache/geode-examples#519 (support/1.12 - 552a4b6)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #519
Status: Canceled

Duration: ?
Commit: 552a4b6 (support/1.12)
Author: Owen Nichols
Message: temporarily point to staging repo for CI purposes

View the changeset: 
https://github.com/apache/geode-examples/compare/c4cf1c4ef9fc...552a4b6d5317

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216865777?utm_medium=notification&utm_source=email

  Restart your build: 
https://travis-ci.com/github/apache/geode-examples/builds/216865777?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Errored: apache/geode-examples#521 (rel/v1.12.1.RC3 - f27cc8d)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #521
Status: Errored

Duration: 1 min and 11 secs
Commit: f27cc8d (rel/v1.12.1.RC3)
Author: Owen Nichols
Message: Revert "temporarily point to staging repo for CI purposes"

View the changeset: 
https://github.com/apache/geode-examples/compare/rel/v1.12.1.RC3

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216865791?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



[VOTE] Apache Geode 1.12.1.RC3

2021-02-11 Thread Owen Nichols
Hello Geode Dev Community,

One year ago this month, Geode adopted a plan to maintain N-2 support branches 
[1] and support/1.12 was created.  Over 140 fixes have now been backported to 
support/1.12 since 1.12.0 was released, so I’d like to propose a maintenance 
release!

My apologies, RC1 and RC2 were DOA so I did not send an email for them.  Please 
ignore any RC1/RC2 tags and focus your review on RC3.

This is a release candidate for Apache Geode version 1.12.1.RC3.
Thanks to all the community members for their contributions to this release!

Please do a review and give your feedback, including the checks you performed.

Voting deadline:
3PM PST Tue, February 16 2021.

Please note that we are voting upon the source tag:
rel/v1.12.1.RC3

Release notes:
https://cwiki.apache.org/confluence/display/GEODE/Release+Notes#ReleaseNotes-1.12.1

Source and binary distributions:
https://dist.apache.org/repos/dist/dev/geode/1.12.1.RC3/

Maven staging repo:
https://repository.apache.org/content/repositories/orgapachegeode-1074

GitHub:
https://github.com/apache/geode/tree/rel/v1.12.1.RC3
https://github.com/apache/geode-examples/tree/rel/v1.12.1.RC3
https://github.com/apache/geode-native/tree/rel/v1.12.1.RC3
https://github.com/apache/geode-benchmarks/tree/rel/v1.12.1.RC3

Pipelines:
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-1-12-main
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-support-1-12-rc

Geode's KEYS file containing PGP keys we use to sign the release:
https://github.com/apache/geode/blob/develop/KEYS

Command to run geode-examples:
./gradlew 
-PgeodeReleaseUrl=https://dist.apache.org/repos/dist/dev/geode/1.12.1.RC3 
-PgeodeRepositoryUrl=https://repository.apache.org/content/repositories/orgapachegeode-1074
 build runAll

Regards
Owen Nichols

[1] https://www.cwiki.us/display/GEODE/Shipping+patch+releases




Passed: apache/geode-native#3024 (rel/v1.12.1.RC1 - 21fcdb8)

2021-02-11 Thread Travis CI
Build Update for apache/geode-native
-

Build: #3024
Status: Passed

Duration: 1 hr, 15 mins, and 59 secs
Commit: 21fcdb8 (rel/v1.12.1.RC1)
Author: Owen Nichols
Message: Bumping copyright year to 2021

View the changeset: 
https://github.com/apache/geode-native/compare/rel/v1.12.1.RC1

View the full build log and details: 
https://travis-ci.com/github/apache/geode-native/builds/216847237?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-native repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807653&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Passed: apache/geode-native#3026 (rel/v1.12.1.RC2 - 21fcdb8)

2021-02-11 Thread Travis CI
Build Update for apache/geode-native
-

Build: #3026
Status: Passed

Duration: 1 hr, 17 mins, and 5 secs
Commit: 21fcdb8 (rel/v1.12.1.RC2)
Author: Owen Nichols
Message: Bumping copyright year to 2021

View the changeset: 
https://github.com/apache/geode-native/compare/rel/v1.12.1.RC2

View the full build log and details: 
https://travis-ci.com/github/apache/geode-native/builds/216862093?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-native repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807653&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Passed: apache/geode-native#3028 (rel/v1.12.1.RC3 - ba8fd9b)

2021-02-11 Thread Travis CI
Build Update for apache/geode-native
-

Build: #3028
Status: Passed

Duration: 1 hr, 16 mins, and 33 secs
Commit: ba8fd9b (rel/v1.12.1.RC3)
Author: Owen Nichols
Message: Bumping copyright year to 2021

View the changeset: 
https://github.com/apache/geode-native/compare/rel/v1.12.1.RC3

View the full build log and details: 
https://travis-ci.com/github/apache/geode-native/builds/216865809?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-native repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807653&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Errored: apache/geode-examples#523 (develop - d8b16a6)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #523
Status: Errored

Duration: 1 min and 9 secs
Commit: d8b16a6 (develop)
Author: Owen Nichols
Message: pair develop examples with 1.15.0 now that support/1.14 has been 
created

View the changeset: 
https://github.com/apache/geode-examples/compare/15e25f7c6a0e...d8b16a64f4f5

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216875208?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.



Passed: apache/geode-examples#522 (support/1.14 - 12a3c52)

2021-02-11 Thread Travis CI
Build Update for apache/geode-examples
-

Build: #522
Status: Passed

Duration: 23 mins and 38 secs
Commit: 12a3c52 (support/1.14)
Author: Owen Nichols
Message: Bumping copyright year to 2021

View the changeset: https://github.com/apache/geode-examples/commit/12a3c52b75d7

View the full build log and details: 
https://travis-ci.com/github/apache/geode-examples/builds/216874013?utm_medium=notification&utm_source=email


--

You can unsubscribe from build emails from the apache/geode-examples repository 
going to 
https://travis-ci.com/account/preferences/unsubscribe?repository=16807635&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at 
https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml 
file. See https://docs.travis-ci.com/user/notifications.