[jira] [Commented] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

jdeppe-pivotal closed pull request #1068: GEODE-1897: Ensure that 
eviction-object-sizer also implements Declarable
URL: https://github.com/apache/geode/pull/1068
 
 
   

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/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
index a4b2f72883..5eeed3f637 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CreateRegionCommand.java
@@ -678,15 +678,9 @@ public Result preExecution(GfshParseResult parseResult) {
 
.createUserErrorResult(CliStrings.CREATE_REGION__MSG__MISSING_EVICTION_ACTION);
   }
 
-  if (evictionSizer != null) {
-if (maxEntry != null) {
-  return ResultBuilder.createUserErrorResult(
-  
CliStrings.CREATE_REGION__MSG__INVALID_EVICTION_OBJECT_SIZER_AND_ENTRY_COUNT);
-}
-if (maxMemory == null) {
-  return ResultBuilder.createUserErrorResult(
-  
CliStrings.CREATE_REGION__MSG__INVALID_EVICTION_OBJECT_SIZER_WITHOUT_MAX_MEMORY);
-}
+  if (evictionSizer != null && maxEntry != null) {
+return ResultBuilder.createUserErrorResult(
+
CliStrings.CREATE_REGION__MSG__INVALID_EVICTION_OBJECT_SIZER_AND_ENTRY_COUNT);
   }
 
   if (evictionAction != null
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
index 55344d4e74..1c7baef4d1 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/RegionCreateFunction.java
@@ -24,6 +24,7 @@
 import org.apache.geode.cache.CacheLoader;
 import org.apache.geode.cache.CacheWriter;
 import org.apache.geode.cache.DataPolicy;
+import org.apache.geode.cache.Declarable;
 import org.apache.geode.cache.EvictionAttributes;
 import org.apache.geode.cache.PartitionAttributes;
 import org.apache.geode.cache.PartitionAttributesFactory;
@@ -36,6 +37,7 @@
 import org.apache.geode.cache.execute.Function;
 import org.apache.geode.cache.execute.FunctionContext;
 import org.apache.geode.cache.execute.ResultSender;
+import org.apache.geode.cache.util.ObjectSizer;
 import org.apache.geode.compression.Compressor;
 import org.apache.geode.internal.ClassPathLoader;
 import org.apache.geode.internal.InternalEntity;
@@ -202,6 +204,11 @@ private CliFunctionResult handleException(final String 
memberNameOrId, final Str
 
 EvictionAttributes evictionAttributes = 
regionCreateArgs.getEvictionAttributes();
 if (evictionAttributes != null) {
+  ObjectSizer sizer = evictionAttributes.getObjectSizer();
+  if (sizer != null && !(sizer instanceof Declarable)) {
+throw new IllegalArgumentException(
+
CliStrings.CREATE_REGION__MSG__OBJECT_SIZER_MUST_BE_OBJECTSIZER_AND_DECLARABLE);
+  }
   factory.setEvictionAttributes(evictionAttributes);
 }
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
index 0e27fba208..cf99d0f202 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/i18n/CliStrings.java
@@ -869,7 +869,7 @@
   "Activates LRU eviction based on the region's memory usage specified by 
this value.";
   public static final String CREATE_REGION__EVICTION_ENTRY_COUNT = 
"eviction-entry-count";
   public static final String CREATE_REGION__EVICTION_ENTRY_COUNT__HELP =
-  "Activates LRU eviction based on the region's entry count specified by 
this value.";
+  "Activates LRU eviction based on the region's entry count specified by 
this value (in megabytes).";
   public static final String CREATE_REGION__EVICTION_OBJECT_SIZER = 
"eviction-object-sizer";
   public static final String CREATE_REGION__EVICTION_OBJECT_SIZER__HELP =
   "A custom class which implements ObjectSizer in order to perform max 
memory eviction.";
@@ -1068,6 +1068,9 @@
   public s

[jira] [Commented] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-1897:


Commit c1db88961a33a12dbad86962262e9a4201a787e5 in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=c1db889 ]

GEODE-1897: Ensure that eviction-object-sizer also implements Declarable (#1068)

- Minor acceptance test updates

> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Jens Deppe
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100m
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=destroy
> {noformat}



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


[jira] [Updated] (GEODE-3571) API should move from factory pattern to builder pattern and fluent model

2017-11-17 Thread Jacob S. Barrett (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob S. Barrett updated GEODE-3571:

Description: 
Discussion here http://markmail.org/thread/femkjloasj4yzvoj

The basic idea is to move away from the creation of generic objects which are 
then further specified to  specifying the object in advance then creating the 
more specific object.

This in addition to using a model where with each attribute set on an object, 
the this pointer is provided as the return value. This allows call chaining.

Obvious target changes include 
CacheFactory
DistributedSystem
AttributesFactory



  was:
Discussion here http://markmail.org/thread/femkjloasj4yzvoj

The basic idea is to move away from the creation of generic objects which are 
then further specified to  specifying the object in advance then creating the 
more specific object.

This in addition to using a model where with each attribute set on an object, 
the this pointer is provided as the return value. This allows call chaining.

Obvious target changes include 
CacheFactory
DistributedSystem



> API should move from factory pattern to builder pattern and fluent model
> 
>
> Key: GEODE-3571
> URL: https://issues.apache.org/jira/browse/GEODE-3571
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Mark Hanson
>
> Discussion here http://markmail.org/thread/femkjloasj4yzvoj
> The basic idea is to move away from the creation of generic objects which are 
> then further specified to  specifying the object in advance then creating the 
> more specific object.
> This in addition to using a model where with each attribute set on an object, 
> the this pointer is provided as the return value. This allows call chaining.
> Obvious target changes include 
> CacheFactory
> DistributedSystem
> AttributesFactory



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


[jira] [Updated] (GEODE-3824) Configure JDBC connection via GFSH

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3824:
--
Summary: Configure JDBC connection via GFSH  (was: Paramaterize 
CacheWriter, CacheLoader via GFSH)

> Configure JDBC connection via GFSH
> --
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> SYNTAX
> configure jdbc protocol [--address=value] [--hostname=value] [--port=value] 
> [--idle-timeout=value] [--ssl=value] [--reset-to-defaults]
> PARAMETERS
> address
> Set the listening address.
> Requires: false
> Default: 0.0.0.0
> hostname
> Set the hostname used in URI generation. If SSL is enabled this name must 
> match the common name (CN) of installed key store certificate.
> Required: false
> Default: IP address of the local host
> port
> Port number to listen on. A port number of 0 means that the port number is 
> automatically allocated, typically from an ephemeral port range.
> Required: false
> Default: 8080
> idle-timeout
> Set the idle timeout in milliseconds. If not data is transmitted for this 
> period of time the connection may be closed. A value of 0 disables idle 
> timeout.
> Required: false
> Default: 6
> ssl
> JSON text of the form ('key-store': value, 'key-store-password': value, 
> ['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
> value[, `'trust-store-type': value]).
> reset-to-defaults
> Resets the jdbc protocol configuration back to default values.
> Describe gpfdist protocol configuration



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


[jira] [Updated] (GEODE-3824) Paramaterize CacheWriter, CacheLoader via GFSH

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3824:
--
Description: 
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

SYNTAX
configure jdbc protocol [--address=value] [--hostname=value] [--port=value] 
[--idle-timeout=value] [--ssl=value] [--reset-to-defaults]

PARAMETERS

address
Set the listening address.
Requires: false
Default: 0.0.0.0

hostname
Set the hostname used in URI generation. If SSL is enabled this name must match 
the common name (CN) of installed key store certificate.
Required: false
Default: IP address of the local host

port
Port number to listen on. A port number of 0 means that the port number is 
automatically allocated, typically from an ephemeral port range.
Required: false
Default: 8080

idle-timeout
Set the idle timeout in milliseconds. If not data is transmitted for this 
period of time the connection may be closed. A value of 0 disables idle timeout.
Required: false
Default: 6

ssl
JSON text of the form ('key-store': value, 'key-store-password': value, 
['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
value[, `'trust-store-type': value]).
reset-to-defaults
Resets the jdbc protocol configuration back to default values.

Describe gpfdist protocol configuration




  was:
Need to be able to add new properties to CacheWriter or CacheLoader through 
GFSH.
The gfsh creation region command needs to support this.
The gfsh alter region commands needs to support this.
The gfsh create async-event-queue has support for this with its 
--listener-param option.

Need a way for the user to add the JDBC url and credentials to be called on DB 
connection.  


> Paramaterize CacheWriter, CacheLoader via GFSH
> --
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> SYNTAX
> configure jdbc protocol [--address=value] [--hostname=value] [--port=value] 
> [--idle-timeout=value] [--ssl=value] [--reset-to-defaults]
> PARAMETERS
> address
> Set the listening address.
> Requires: false
> Default: 0.0.0.0
> hostname
> Set the hostname used in URI generation. If SSL is enabled this name must 
> match the common name (CN) of installed key store certificate.
> Required: false
> Default: IP address of the local host
> port
> Port number to listen on. A port number of 0 means that the port number is 
> automatically allocated, typically from an ephemeral port range.
> Required: false
> Default: 8080
> idle-timeout
> Set the idle timeout in milliseconds. If not data is transmitted for this 
> period of time the connection may be closed. A value of 0 disables idle 
> timeout.
> Required: false
> Default: 6
> ssl
> JSON text of the form ('key-store': value, 'key-store-password': value, 
> ['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
> value[, `'trust-store-type': value]).
> reset-to-defaults
> Resets the jdbc protocol configuration back to default values.
> Describe gpfdist protocol configuration



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


[jira] [Commented] (GEODE-2563) All destroy commands in gfsh should be idempotent

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

kattino commented on issue #1056: GEODE-2563:Added acceptance test
URL: https://github.com/apache/geode/pull/1056#issuecomment-345310299
 
 
   @jinmeiliao @jdeppe-pivotal @pdxrunner @PurelyApplied 


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


> All destroy commands in gfsh should be idempotent
> -
>
> Key: GEODE-2563
> URL: https://issues.apache.org/jira/browse/GEODE-2563
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> If a developer is using gfsh script to define the geode cluster, we should 
> support the ability to run the gfsh script multiple times.



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


[jira] [Created] (GEODE-3988) Create PDX-JDBC mapping via gfsh

2017-11-17 Thread Fred Krone (JIRA)
Fred Krone created GEODE-3988:
-

 Summary: Create PDX-JDBC mapping via gfsh
 Key: GEODE-3988
 URL: https://issues.apache.org/jira/browse/GEODE-3988
 Project: Geode
  Issue Type: Sub-task
  Components: regions
Reporter: Fred Krone


create jdbc mapping --data-source=value --pdx-name=value --region=value 
--table=value --id=value[,value...] 
[--field=('name': value, ['column': value,] ['class': value,] ['type': value])]

PARAMETERS
data-source
Name for JNDI data source for JDBC connection.
Required: true

pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: true

region
Name/path of the region to be associated with DB table.
Required: true
table
Name of DB table to be associated with GemFire region. The schema can be 
prefixed: for example “schema.table”.
Required: true

id
Name of PDX field to use as the key in the identification of a GemFire entry.
Required: true
field
JSON text specifying the mapping from a GemFire PdxInstance field to a DB 
column.
Required: false




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


[jira] [Created] (GEODE-3989) Destroy JDBC mapping

2017-11-17 Thread Fred Krone (JIRA)
Fred Krone created GEODE-3989:
-

 Summary: Destroy JDBC mapping
 Key: GEODE-3989
 URL: https://issues.apache.org/jira/browse/GEODE-3989
 Project: Geode
  Issue Type: Sub-task
Reporter: Fred Krone


destroy jdbc-mapping --region=value

PARAMETERS
region
Name/path of the region that the GPDB store is associated with
Required: true




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


[jira] [Created] (GEODE-3990) Alter JDBC mapping

2017-11-17 Thread Fred Krone (JIRA)
Fred Krone created GEODE-3990:
-

 Summary: Alter JDBC mapping
 Key: GEODE-3990
 URL: https://issues.apache.org/jira/browse/GEODE-3990
 Project: Geode
  Issue Type: Sub-task
  Components: regions
Reporter: Fred Krone


SYNTAX
alter jdbc-mapping --region=value [--data-source=value] 
[--pdx-name=value][--table=value] [--id=value[,value...]] [--add-field=('name': 
value, ['column': value,] ['class': value,] ['type': value])] 
[--remove-field=value]

PARAMETERS
data-source
for JDBC connection.
Required: false

pdx-name
for GemFire PDX to parse the PDX fields.
Required: false

region
Name/path of the region to be associated with DB table.
Required: true

Table 
to be associated with GemFire region.
Required: false

id
the key in the identification of a GemFire object.
Required: false

add-field
JSON text specifying the mapping from a GemFire PdxInstance field to a DB 
column.
Required: false

remove-field
Name of existing PdxInstance field to remove
required: false



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


[jira] [Commented] (GEODE-3967) if put hits concurrent modification exception should still notify serial gateway sender

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3967:


Commit 13e02d10e3bc46755b6273042840afecf9deb588 in geode's branch 
refs/heads/feature/GEM-883 from zhouxh
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=13e02d1 ]

GEODE-3967: change to use logger


> if put hits concurrent modification exception should still notify serial 
> gateway sender
> ---
>
> Key: GEODE-3967
> URL: https://issues.apache.org/jira/browse/GEODE-3967
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Reporter: xiaojian zhou
>Assignee: xiaojian zhou
>
> In serial gateway sender, the event arrives at secondary will be put into 
> unprocessedMap and wait for event from primary queue to distribute over, then 
> remove it from the unprocessedMap.
> If the put at primary member (member with primary queue) failed with CME, the 
> event in unprocessedMap will never be removed. 



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


[jira] [Created] (GEODE-3991) List JDBC mapping

2017-11-17 Thread Fred Krone (JIRA)
Fred Krone created GEODE-3991:
-

 Summary: List JDBC mapping
 Key: GEODE-3991
 URL: https://issues.apache.org/jira/browse/GEODE-3991
 Project: Geode
  Issue Type: Sub-task
Reporter: Fred Krone


NAME
list jdbc-mapping

SYNOPSIS
List the all the JDBC stores for all regions.




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


[jira] [Commented] (GEODE-3967) if put hits concurrent modification exception should still notify serial gateway sender

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3967:


Commit 30185338b67b3954eac1c2ca46021a86efb71b89 in geode's branch 
refs/heads/feature/GEM-883 from zhouxh
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=3018533 ]

GEODE-3967: if put hits concurrent modification exception should still notify 
serial gateway sender


> if put hits concurrent modification exception should still notify serial 
> gateway sender
> ---
>
> Key: GEODE-3967
> URL: https://issues.apache.org/jira/browse/GEODE-3967
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Reporter: xiaojian zhou
>Assignee: xiaojian zhou
>
> In serial gateway sender, the event arrives at secondary will be put into 
> unprocessedMap and wait for event from primary queue to distribute over, then 
> remove it from the unprocessedMap.
> If the put at primary member (member with primary queue) failed with CME, the 
> event in unprocessedMap will never be removed. 



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


[jira] [Created] (GEODE-3992) Describe JDBC mapping

2017-11-17 Thread Fred Krone (JIRA)
Fred Krone created GEODE-3992:
-

 Summary: Describe JDBC mapping
 Key: GEODE-3992
 URL: https://issues.apache.org/jira/browse/GEODE-3992
 Project: Geode
  Issue Type: Sub-task
Reporter: Fred Krone


SYNTAX
describe jdbc-mapping --region=value

PARAMETERS
region
Name/path of the region that has the JDBC store.
Required: true




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


[jira] [Updated] (GEODE-3988) Create PDX-JDBC mapping via gfsh

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3988:
--
Description: 
create jdbc mapping --data-source=value --pdx-name=value --region=value 
--table=value --id=value[,value...] 
[--field=('name': value, ['column': value,] ['class': value,] ['type': value])]

PARAMETERS
jdbc-config
id for JDBC config to be used.
Required: true

pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: true

region
Name/path of the region to be associated with DB table.
Required: true

table
Name of DB table to be associated with GemFire region. The schema can be 
prefixed: for example “schema.table”.
Required: true

keyPartOfValue 

fieldToColumnMap

id
Name of PDX field to use as the key in the identification of a GemFire entry.
Required: true



  was:
create jdbc mapping --data-source=value --pdx-name=value --region=value 
--table=value --id=value[,value...] 
[--field=('name': value, ['column': value,] ['class': value,] ['type': value])]

PARAMETERS
data-source
Name for JNDI data source for JDBC connection.
Required: true

pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: true

region
Name/path of the region to be associated with DB table.
Required: true
table
Name of DB table to be associated with GemFire region. The schema can be 
prefixed: for example “schema.table”.
Required: true

id
Name of PDX field to use as the key in the identification of a GemFire entry.
Required: true
field
JSON text specifying the mapping from a GemFire PdxInstance field to a DB 
column.
Required: false



> Create PDX-JDBC mapping via gfsh
> 
>
> Key: GEODE-3988
> URL: https://issues.apache.org/jira/browse/GEODE-3988
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> create jdbc mapping --data-source=value --pdx-name=value --region=value 
> --table=value --id=value[,value...] 
> [--field=('name': value, ['column': value,] ['class': value,] ['type': 
> value])]
> PARAMETERS
> jdbc-config
> id for JDBC config to be used.
> Required: true
> pdx-name
> Name for GemFire PDX to parse the PDX fields.
> Required: true
> region
> Name/path of the region to be associated with DB table.
> Required: true
> table
> Name of DB table to be associated with GemFire region. The schema can be 
> prefixed: for example “schema.table”.
> Required: true
> keyPartOfValue 
> fieldToColumnMap
> id
> Name of PDX field to use as the key in the identification of a GemFire entry.
> Required: true



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


[jira] [Updated] (GEODE-3824) Configure JDBC connection via GFSH

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3824:
--
Description: 
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

SYNTAX
configure jdbcConnection [--name==valie] [--address=value] [--hostname=value] 
[--port=value] [--idle-timeout=value] [--ssl=value] [--reset-to-defaults]

PARAMETERS

name
The name of the jdbcConnection 
Required: true
Default: jdbcConnection

address
Set the listening address.
Requires: false
Default: 0.0.0.0

hostname
Set the hostname used in URI generation. If SSL is enabled this name must match 
the common name (CN) of installed key store certificate.
Required: false
Default: IP address of the local host

port
Port number to listen on. A port number of 0 means that the port number is 
automatically allocated, typically from an ephemeral port range.
Required: false
Default: 8080

idle-timeout
Set the idle timeout in milliseconds. If not data is transmitted for this 
period of time the connection may be closed. A value of 0 disables idle timeout.
Required: false
Default: 6

ssl
JSON text of the form ('key-store': value, 'key-store-password': value, 
['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
value[, `'trust-store-type': value]).
reset-to-defaults
Resets the jdbc protocol configuration back to default values.

Describe gpfdist protocol configuration




  was:
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

SYNTAX
configure jdbc protocol [--address=value] [--hostname=value] [--port=value] 
[--idle-timeout=value] [--ssl=value] [--reset-to-defaults]

PARAMETERS

address
Set the listening address.
Requires: false
Default: 0.0.0.0

hostname
Set the hostname used in URI generation. If SSL is enabled this name must match 
the common name (CN) of installed key store certificate.
Required: false
Default: IP address of the local host

port
Port number to listen on. A port number of 0 means that the port number is 
automatically allocated, typically from an ephemeral port range.
Required: false
Default: 8080

idle-timeout
Set the idle timeout in milliseconds. If not data is transmitted for this 
period of time the connection may be closed. A value of 0 disables idle timeout.
Required: false
Default: 6

ssl
JSON text of the form ('key-store': value, 'key-store-password': value, 
['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
value[, `'trust-store-type': value]).
reset-to-defaults
Resets the jdbc protocol configuration back to default values.

Describe gpfdist protocol configuration





> Configure JDBC connection via GFSH
> --
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> SYNTAX
> configure jdbcConnection [--name==valie] [--address=value] [--hostname=value] 
> [--port=value] [--idle-timeout=value] [--ssl=value] [--reset-to-defaults]
> PARAMETERS
> name
> The name of the jdbcConnection 
> Required: true
> Default: jdbcConnection
> address
> Set the listening address.
> Requires: false
> Default: 0.0.0.0
> hostname
> Set the hostname used in URI generation. If SSL is enabled this name must 
> match the common name (CN) of installed key store certificate.
> Required: false
> Default: IP address of the local host
> port
> Port number to listen on. A port number of 0 means that the port number is 
> automatically allocated, typically from an ephemeral port range.
> Required: false
> Default: 8080
> idle-timeout
> Set the idle timeout in milliseconds. If not data is transmitted for this 
> period of time the connection may be closed. A value of 0 disables idle 
> timeout.
> Required: false
> Default: 6
> ssl
> JSON text of the form ('key-store': value, 'key-store-password': value, 
> ['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
> value[, `'trust-store-type': value]).
> reset-to-defaults
> Resets the jdbc protocol configuration back to default values.
> Describe gpfdist protocol configuration



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


[jira] [Commented] (GEODE-2563) All destroy commands in gfsh should be idempotent

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

pdxrunner commented on a change in pull request #1056: GEODE-2563:Added 
acceptance test
URL: https://github.com/apache/geode/pull/1056#discussion_r151750201
 
 

 ##
 File path: 
geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigureEvictionThroughGfsh.java
 ##
 @@ -0,0 +1,228 @@
+/*
+ * 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.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.compiler.JarBuilder;
+import org.apache.geode.test.dunit.rules.LocatorServerStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
+import org.apache.geode.test.junit.categories.AcceptanceTest;
+import org.apache.geode.test.junit.rules.gfsh.GfshExecution;
+import org.apache.geode.test.junit.rules.gfsh.GfshRule;
+import org.apache.geode.test.junit.rules.gfsh.GfshScript;
+
+// GEODE-1897 Users should be able to configure eviction through gfsh
+@Category(AcceptanceTest.class)
+public class ConfigureEvictionThroughGfsh {
+  private File jarToDeploy;
+
+  @Rule
+  public GfshRule gfsh = new GfshRule();
+
+
+  @Test
+  public void ConfigureEvictionByEntryCount() throws Exception {
+
+GfshExecution execution = GfshScript
+.of("start locator --name=locator", "start server --name=server",
+"create region --name=region1 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=REPLICATE",
+"create region --name=region2 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=REPLICATE",
+"create region --name=region3 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=REPLICATE_PERSISTENT",
+"create region --name=region4 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=LOCAL",
+"create region --name=region5 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=LOCAL")
+.execute(gfsh);
+
+assertThat(execution.getOutputText()).contains("Region \"/region1\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region2\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region3\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region4\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region5\" 
created on \"server\"");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]",
+"create region --name=region6 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=REPLICATE_PERSISTENT")
+.expectFailure().execute(gfsh);
+assertThat(execution.getOutputText()).contains(
+"ERROR: An Eviction Controller with local destroy eviction action is 
incompatible with");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region1").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region1")
+.containsPattern("eviction-action\\s+| local-destroy")
+.containsPattern("eviction-maximum-value\\s+ | 1000");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region2").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region2")
+.containsPattern("eviction-action\\s+| overflow-to-disk")
+.containsPattern("eviction-maximum-value\\s+ | 1000");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region3").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region3")
+.containsPattern("evic

[jira] [Commented] (GEODE-2563) All destroy commands in gfsh should be idempotent

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

pdxrunner commented on a change in pull request #1056: GEODE-2563:Added 
acceptance test
URL: https://github.com/apache/geode/pull/1056#discussion_r151749636
 
 

 ##
 File path: 
geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigureEvictionThroughGfsh.java
 ##
 @@ -0,0 +1,228 @@
+/*
+ * 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.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.compiler.JarBuilder;
+import org.apache.geode.test.dunit.rules.LocatorServerStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
+import org.apache.geode.test.junit.categories.AcceptanceTest;
+import org.apache.geode.test.junit.rules.gfsh.GfshExecution;
+import org.apache.geode.test.junit.rules.gfsh.GfshRule;
+import org.apache.geode.test.junit.rules.gfsh.GfshScript;
+
+// GEODE-1897 Users should be able to configure eviction through gfsh
+@Category(AcceptanceTest.class)
+public class ConfigureEvictionThroughGfsh {
+  private File jarToDeploy;
+
+  @Rule
+  public GfshRule gfsh = new GfshRule();
+
+
+  @Test
+  public void ConfigureEvictionByEntryCount() throws Exception {
+
+GfshExecution execution = GfshScript
+.of("start locator --name=locator", "start server --name=server",
+"create region --name=region1 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=REPLICATE",
+"create region --name=region2 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=REPLICATE",
+"create region --name=region3 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=REPLICATE_PERSISTENT",
+"create region --name=region4 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=LOCAL",
+"create region --name=region5 --eviction-action=overflow-to-disk 
--eviction-entry-count=1000 --type=LOCAL")
+.execute(gfsh);
+
+assertThat(execution.getOutputText()).contains("Region \"/region1\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region2\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region3\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region4\" 
created on \"server\"");
+assertThat(execution.getOutputText()).contains("Region \"/region5\" 
created on \"server\"");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]",
+"create region --name=region6 --eviction-action=local-destroy 
--eviction-entry-count=1000 --type=REPLICATE_PERSISTENT")
+.expectFailure().execute(gfsh);
+assertThat(execution.getOutputText()).contains(
+"ERROR: An Eviction Controller with local destroy eviction action is 
incompatible with");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region1").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region1")
+.containsPattern("eviction-action\\s+| local-destroy")
+.containsPattern("eviction-maximum-value\\s+ | 1000");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region2").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region2")
+.containsPattern("eviction-action\\s+| overflow-to-disk")
+.containsPattern("eviction-maximum-value\\s+ | 1000");
+
+execution = GfshScript
+.of("connect --locator=localhost[10334]", "describe region 
--name=region3").execute(gfsh);
+assertThat(execution.getOutputText()).containsPattern("region3")
+.containsPattern("evic

[jira] [Commented] (GEODE-3969) Protobuf protocol requests includes a CallbackArgs field

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

galen-pivotal commented on a change in pull request #1047: GEODE-3969: Remove 
CallbackArgs from protobuf requests
URL: https://github.com/apache/geode/pull/1047#discussion_r151751776
 
 

 ##
 File path: geode-protobuf/src/main/proto/v1/clientProtocol.proto
 ##
 @@ -35,7 +35,6 @@ message Message {
 }
 
 message Request {
-CallbackArguments callbackArg = 1;
 oneof requestAPI {
 PutRequest putRequest = 2;
 
 Review comment:
   I kind of want to keep the one available just in case, but I don't think 
it's actually a good idea. Probably we should decrement all the indices.


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


> Protobuf protocol requests includes a CallbackArgs field
> 
>
> Key: GEODE-3969
> URL: https://issues.apache.org/jira/browse/GEODE-3969
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: Brian Rowe
>
> We eventually want to support allowing clients to pass arguments to cache 
> listeners in their requests, but this functionality is not going to be 
> present in v1.  Having this field is therefore misleading and it should be 
> removed.



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


[jira] [Commented] (GEODE-3761) Document the deprecation of manual start of gateway senders

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3761:


Commit 9d722378c40fa607b634d795c88e090de046032c in geode's branch 
refs/heads/develop from [~dbarnes97]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=9d72237 ]

GEODE-3761 Document the deprecation of manual start of gateway senders - 
updated wording per reviewer feedback.


> Document the deprecation of manual start of gateway senders
> ---
>
> Key: GEODE-3761
> URL: https://issues.apache.org/jira/browse/GEODE-3761
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
> Fix For: 1.3.0
>
>
> Document that doing a manual start of gateway senders is deprecated.



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


[jira] [Created] (GEODE-3993) Re-evaluate the Cache.createDataInput/Output API

2017-11-17 Thread Jacob S. Barrett (JIRA)
Jacob S. Barrett created GEODE-3993:
---

 Summary: Re-evaluate the Cache.createDataInput/Output API
 Key: GEODE-3993
 URL: https://issues.apache.org/jira/browse/GEODE-3993
 Project: Geode
  Issue Type: Task
  Components: native client
Reporter: Jacob S. Barrett


Having the factory on Cache is convenient for end users but produces 
DataInput/Output objects that are not usable for internal use because it relies 
on access to the Pool. If a User's use of the DataInput/Output also needs Pool 
then it will be broken.  Internally we turn around and call an internal API to 
add the Pool to the DataInput/Output. This all seems really dirty, can we do 
better?



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


[jira] [Commented] (GEODE-3624) Update exceptions to more closely match standard exception interface

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3624:


Commit 938581d811e6f6710e29940b7729b7bbc54a7e03 in geode-native's branch 
refs/heads/develop from [~dkimura]
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=938581d ]

GEODE-3624: Add reference to boost stacktrace ticket for Solaris support


> Update exceptions to more closely match standard exception interface
> 
>
> Key: GEODE-3624
> URL: https://issues.apache.org/jira/browse/GEODE-3624
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: David Kimura
>
> Native client library should follow standard exception interface for any 
> thrown exceptions.  This means one less custom interface that a customer or 
> developer needs to understand.
> {noformat}
> namespace apache {
> namespace geode {
> namespace client {
> class Exception : public std::exception {...};
> class IllegalArgumentException : public Exception {...};
> class TransactionException : public Exception {...};
> class RollbackException : public TransactionException {...};
> // NO - class IllegalArgumentException : public Exception, public
> std::invalid_argument {...};
> // NO - class IllegalArgumentException : public std::invalid_argument {...};
> // NO - class IllegalArgumentException : public Exception, public
> TransactionException {...};
> }
> }
> }
> {noformat}



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


[jira] [Assigned] (GEODE-3781) Users would like PDX to JDBC connector

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3781:


Assignee: Kirk Lund

> Users would like PDX to JDBC connector
> --
>
> Key: GEODE-3781
> URL: https://issues.apache.org/jira/browse/GEODE-3781
> Project: Geode
>  Issue Type: Wish
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Users would like easy inline caching
> This is the epic for the inline caching improvements -- write behind, write 
> through, read through.
> The goal is here to allow users easy mapping of region to table.  Either the 
> user can provide a simple field to column config file and it is injected at 
> runtime (more flexible) or we use a simple name to name mapping with no 
> configuration needed.  
> Feedback 1: "people don't like the idea of every team writing the same kind 
> of write behind logic again and again"
> Feedback 2: "I write a lot of boiler plate code over and over again for this 
> very thing"



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


[jira] [Assigned] (GEODE-3782) Implement CacheWriter for PDX to JDBC

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3782?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3782:


Assignee: Kirk Lund

> Implement CacheWriter for PDX to JDBC
> -
>
> Key: GEODE-3782
> URL: https://issues.apache.org/jira/browse/GEODE-3782
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is for write through from the backend-db --- region.put that should be 
> synchronously written through to the DB
> Most actions are the same as on GEODE-3783 -- except this is a synchronous 
> operation so if the DB update fails in any way the region.put should also 
> fail and return na error.



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


[jira] [Assigned] (GEODE-3821) Spike: research PDX to JDBC mapping

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3821:


Assignee: Kirk Lund

> Spike: research PDX to JDBC mapping
> ---
>
> Key: GEODE-3821
> URL: https://issues.apache.org/jira/browse/GEODE-3821
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Converting a PDX to SQL query for DB insert
> Converting a result set to PDX 
> Use this ticket to answer any technical questions needed for approach.  After 
> this should be able to implement an AsyncEventListener that can convert a PDX 
> object to a JDBC insert statement.  GEODE-3783



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


[jira] [Assigned] (GEODE-3823) Implement a CacheLoader for JDBC to PDX

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3823:


Assignee: Kirk Lund

> Implement a CacheLoader for JDBC to PDX
> ---
>
> Key: GEODE-3823
> URL: https://issues.apache.org/jira/browse/GEODE-3823
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is for a 'read through' to the DB scenario when the entry is not found 
> in a Region.  This implementation should take a result set and convert to PDX 
> for the cache.
> Make a SQL statement to query by the key provided.  dbName must match the 
> Region name.
> Check each ResultSet field for type and convert. Create a PDXInstance insert 
> values.  Region can (should?) have its type set so we'll know what the type 
> is.
>
> AC:
> If the value is not in the cache it should take configured JDBC credentials 
> and connect to DB
> Should log any connection error and retry x amount of times
> On connect should execute query using the provided key as UID
> On successful query should create PDX object, map JDBC values to PDX object, 
> put PDX object in the cache, return value
> Should only return one value -- multiple values should be logged and error
> JDBC execution errors should be logged



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


[jira] [Assigned] (GEODE-3783) Implement asyceventlistener for PDX to JDBC

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3783:


Assignee: Kirk Lund

> Implement asyceventlistener for PDX to JDBC
> ---
>
> Key: GEODE-3783
> URL: https://issues.apache.org/jira/browse/GEODE-3783
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is to implement an AsyncEventListener for a write behind caching 
> scenario.  Something was put or updated in the Region and it should be 
> persisted into a DB asynchronously. 
> AC:
> 1) Should take the JDBC configuration provided by the user via gfsh, 
> cache.xml and connect to the DB 
> 2) Should log a DB connection failure and retry x number of times
> 3) Should take the PDX object and convert it to a JDBC statement for DB 
> update/insert
> 4) Should retry on a fail (I think this is automatic when set via 
> configuration)
> 5) Should log all failed DB attempts



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


[jira] [Updated] (GEODE-3783) Implement AsyncEventListener for PDX to JDBC

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3783:
-
Summary: Implement AsyncEventListener for PDX to JDBC  (was: Implement 
asyceventlistener for PDX to JDBC)

> Implement AsyncEventListener for PDX to JDBC
> 
>
> Key: GEODE-3783
> URL: https://issues.apache.org/jira/browse/GEODE-3783
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is to implement an AsyncEventListener for a write behind caching 
> scenario.  Something was put or updated in the Region and it should be 
> persisted into a DB asynchronously. 
> AC:
> 1) Should take the JDBC configuration provided by the user via gfsh, 
> cache.xml and connect to the DB 
> 2) Should log a DB connection failure and retry x number of times
> 3) Should take the PDX object and convert it to a JDBC statement for DB 
> update/insert
> 4) Should retry on a fail (I think this is automatic when set via 
> configuration)
> 5) Should log all failed DB attempts



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


[jira] [Resolved] (GEODE-3821) Spike: research PDX to JDBC mapping

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund resolved GEODE-3821.
--
Resolution: Done

> Spike: research PDX to JDBC mapping
> ---
>
> Key: GEODE-3821
> URL: https://issues.apache.org/jira/browse/GEODE-3821
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Converting a PDX to SQL query for DB insert
> Converting a result set to PDX 
> Use this ticket to answer any technical questions needed for approach.  After 
> this should be able to implement an AsyncEventListener that can convert a PDX 
> object to a JDBC insert statement.  GEODE-3783



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


[jira] [Closed] (GEODE-3821) Spike: research PDX to JDBC mapping

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund closed GEODE-3821.


> Spike: research PDX to JDBC mapping
> ---
>
> Key: GEODE-3821
> URL: https://issues.apache.org/jira/browse/GEODE-3821
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Converting a PDX to SQL query for DB insert
> Converting a result set to PDX 
> Use this ticket to answer any technical questions needed for approach.  After 
> this should be able to implement an AsyncEventListener that can convert a PDX 
> object to a JDBC insert statement.  GEODE-3783



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


[jira] [Commented] (GEODE-3977) .NET QueryService templating should match usage

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

mhansonp closed pull request #155: GEODE-3977: QueryService template args 
removed
URL: https://github.com/apache/geode-native/pull/155
 
 
   

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/clicache/integration-test/PutGetTestsN.cs 
b/clicache/integration-test/PutGetTestsN.cs
index 21478218..fbc592a6 100644
--- a/clicache/integration-test/PutGetTestsN.cs
+++ b/clicache/integration-test/PutGetTestsN.cs
@@ -318,9 +318,9 @@ public void DoRunQuery()
   }
   else
   {
-QueryService qs = null;
-qs = 
CacheHelper.DCache.GetPoolManager().Find(m_region.Attributes.PoolName).GetQueryService();
-Query qry = qs.NewQuery("SELECT * FROM " + m_region.FullPath);
+QueryService qs = null;
+qs = 
CacheHelper.DCache.GetPoolManager().Find(m_region.Attributes.PoolName).GetQueryService();
+Query qry = qs.NewQuery("SELECT * FROM " + 
m_region.FullPath);
 ISelectResults results = qry.Execute();
 // not really interested in results but loop through them neverthless
 Util.Log("DoRunQuery: obtained {0} results", results.Size);
diff --git a/clicache/integration-test/ThinClientAppDomainQueryTests.cs 
b/clicache/integration-test/ThinClientAppDomainQueryTests.cs
index 90aabf71..c541ef87 100644
--- a/clicache/integration-test/ThinClientAppDomainQueryTests.cs
+++ b/clicache/integration-test/ThinClientAppDomainQueryTests.cs
@@ -124,7 +124,7 @@ public void VerifyQueries()
 
   QueryHelper qh = QueryHelper.GetHelper(CacheHelper.DCache);
 
-  QueryService qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
+  QueryService qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
 
   int qryIdx = 0;
 
@@ -146,7 +146,7 @@ public void VerifyQueries()
 
 Util.Log("Evaluating query index {0}. Query string {1}", qryIdx, 
qrystr.Query);
 
-Query query = qs.NewQuery(qrystr.Query);
+Query query = qs.NewQuery(qrystr.Query);
 
 ISelectResults results = query.Execute();
 
@@ -204,7 +204,7 @@ public void VerifyUnsupporteQueries()
 
   QueryHelper qh = QueryHelper.GetHelper(CacheHelper.DCache);
 
-  QueryService qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
+  QueryService qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
 
   int qryIdx = 0;
 
@@ -218,7 +218,7 @@ public void VerifyUnsupporteQueries()
 
 Util.Log("Evaluating unsupported query index {0}.", qryIdx);
 
-Query query = qs.NewQuery(qrystr.Query);
+Query query = qs.NewQuery(qrystr.Query);
 
 try
 {
diff --git a/clicache/integration-test/ThinClientCqIRTestsN.cs 
b/clicache/integration-test/ThinClientCqIRTestsN.cs
index ea90850b..0c9de7ad 100644
--- a/clicache/integration-test/ThinClientCqIRTestsN.cs
+++ b/clicache/integration-test/ThinClientCqIRTestsN.cs
@@ -148,8 +148,8 @@ public void StepOneQE(string locators)
   region["3"] = p3;
   region["4"] = p4;
 
-  QueryService qs = null;
-  qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
+  QueryService qs = null;
+  qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
   CqAttributesFactory cqFac = new 
CqAttributesFactory();
   ICqListener cqLstner = new MyCqListener();
   cqFac.AddCqListener(cqLstner);
@@ -207,7 +207,7 @@ public void StepOneQE(string locators)
   }
 }
   }
-  qry = qs.GetCq(CqName);
+  qry = qs.GetCq(CqName);
   qry.Stop();
   qry.Close();
   // Bring down the region
diff --git a/clicache/integration-test/ThinClientCqTestsN.cs 
b/clicache/integration-test/ThinClientCqTestsN.cs
index 2dd81187..9a49e4df 100644
--- a/clicache/integration-test/ThinClientCqTestsN.cs
+++ b/clicache/integration-test/ThinClientCqTestsN.cs
@@ -393,9 +393,9 @@ public void StepOneQE(string locators)
   region["3"] = p3;
   region["4"] = p4;
 
-  QueryService qs = null;
+  QueryService qs = null;
 
-  qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
+  qs = 
CacheHelper.DCache.GetPoolManager().Find("__TESTPOOL1_").GetQueryService();
   CqAttributesFactory cqFac = new 
CqAttributesFactory();
   ICqListener cqLstner = new MyCqListener();
   cqFac.AddCqListener(cqLstner);
@@ -409,7 +409,7 @@ public void StepOneQE(string locators)
   region["1"] = p4;
   Thread.Sleep(1

[jira] [Commented] (GEODE-3985) rolling upgrade tests accidentally rolls vms back to the current version

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3985:


Commit d5e04626b238a98fce1389bd0c9270acade1542e in geode's branch 
refs/heads/develop from [~jinmeiliao]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=d5e0462 ]

GEODE-3985: rolling upgrade tests is prone to accidentally roll the vms back to 
current version (#1067)

*  getVM(int index) call will not roll the vm back to current version.


> rolling upgrade tests accidentally rolls vms back to the current version
> 
>
> Key: GEODE-3985
> URL: https://issues.apache.org/jira/browse/GEODE-3985
> Project: Geode
>  Issue Type: Bug
>Reporter: Jinmei Liao
>Assignee: Jinmei Liao
>




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


[jira] [Commented] (GEODE-3985) rolling upgrade tests accidentally rolls vms back to the current version

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

jinmeiliao closed pull request #1067: GEODE-3985: rolling upgrade tests is 
prone to accidentally roll the vms back to current version
URL: https://github.com/apache/geode/pull/1067
 
 
   

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/geode-core/src/test/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgrade2DUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgrade2DUnitTest.java
index a625dda1cb..52776b65d0 100755
--- 
a/geode-core/src/test/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgrade2DUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/cache/rollingupgrade/RollingUpgrade2DUnitTest.java
@@ -727,9 +727,9 @@ public void testOldMemberCantJoinRolledLocators() throws 
Exception {
   public void doTestPutAndGetMixedServers(String objectType, boolean 
partitioned, String oldVersion)
   throws Exception {
 final Host host = Host.getHost(0);
-VM currentServer1 = host.getVM(0);
+VM currentServer1 = host.getVM(VersionManager.CURRENT_VERSION, 0);
 VM oldServerAndLocator = host.getVM(oldVersion, 1);
-VM currentServer2 = host.getVM(2);
+VM currentServer2 = host.getVM(VersionManager.CURRENT_VERSION, 2);
 VM oldServer2 = host.getVM(oldVersion, 3);
 
 String regionName = "aRegion";
@@ -796,9 +796,9 @@ public void 
testCreateIndexesMixedServersOnPartitionedRegions() throws Exception
 
   public void doTestQueryMixedServers(boolean partitioned, String oldVersion) 
throws Exception {
 final Host host = Host.getHost(0);
-VM currentServer1 = host.getVM(0);
+VM currentServer1 = host.getVM(VersionManager.CURRENT_VERSION, 0);
 VM oldServer = host.getVM(oldVersion, 1);
-VM currentServer2 = host.getVM(2);
+VM currentServer2 = host.getVM(VersionManager.CURRENT_VERSION, 2);
 VM oldServerAndLocator = host.getVM(oldVersion, 3);
 
 String regionName = "cqs";
@@ -846,9 +846,9 @@ public void testTracePRQuery() throws Exception {
 
   public void doTestTracePRQuery(boolean partitioned, String oldVersion) 
throws Exception {
 final Host host = Host.getHost(0);
-VM currentServer1 = host.getVM(0);
+VM currentServer1 = host.getVM(VersionManager.CURRENT_VERSION, 0);
 VM oldServer = host.getVM(oldVersion, 1);
-VM currentServer2 = host.getVM(2);
+VM currentServer2 = host.getVM(VersionManager.CURRENT_VERSION, 2);
 VM oldServerAndLocator = host.getVM(oldVersion, 3);
 
 String regionName = "cqs";
@@ -892,9 +892,9 @@ public void doTestTracePRQuery(boolean partitioned, String 
oldVersion) throws Ex
   public void doTestCreateIndexes(boolean createMultiIndexes, boolean 
partitioned,
   String oldVersion) throws Exception {
 final Host host = Host.getHost(0);
-final VM currentServer1 = host.getVM(0);
+final VM currentServer1 = host.getVM(VersionManager.CURRENT_VERSION, 0);
 final VM oldServer = host.getVM(oldVersion, 1);
-final VM currentServer2 = host.getVM(2);
+final VM currentServer2 = host.getVM(VersionManager.CURRENT_VERSION, 2);
 final VM oldServerAndLocator = host.getVM(oldVersion, 3);
 
 String regionName = "cqs";
@@ -1035,8 +1035,8 @@ private void doTestVerifyXmlEntity(String oldVersion) 
throws Exception {
 final Host host = Host.getHost(0);
 VM oldLocator = host.getVM(oldVersion, 0);
 VM oldServer = host.getVM(oldVersion, 1);
-VM currentServer1 = host.getVM(2);
-VM currentServer2 = host.getVM(3);
+VM currentServer1 = host.getVM(VersionManager.CURRENT_VERSION, 2);
+VM currentServer2 = host.getVM(VersionManager.CURRENT_VERSION, 3);
 
 int[] locatorPorts = AvailablePortHelper.getRandomAvailableTCPPorts(1);
 String hostName = NetworkUtils.getServerHostName(host);
@@ -1091,7 +1091,7 @@ public void 
doTestHARegionNameOnDifferentServerVersions(boolean partitioned, Str
 final Host host = Host.getHost(0);
 VM locator = host.getVM(oldVersion, 0);
 VM server1 = host.getVM(oldVersion, 1);
-VM server2 = host.getVM(2);
+VM server2 = host.getVM(VersionManager.CURRENT_VERSION, 2);
 VM client = host.getVM(oldVersion, 3);
 
 int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(3);
@@ -1266,7 +1266,7 @@ private void invokeRunnableInVMs(boolean catchErrors, 
CacheSerializableRunnable
   private VM rollServerToCurrent(VM oldServer, int[] locatorPorts) throws 
Exception {
 // Roll the server
 oldServer.invoke(invokeCloseCache());
-VM rollServer = Host.getHost(0).g

[jira] [Updated] (GEODE-3783) Implement AsyncEventListener for PDX to JDBC

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3783:
--
Description: 
This is to implement an AsyncEventListener for a write behind caching scenario. 
 Something was put or updated in the Region and it should be persisted into a 
DB asynchronously. 

Should take the JDBC configuration from cache.xml and connect to the DB 
Should log a DB connection failure and retry x number of times
Should take the PDX object and convert it to a JDBC statement for DB 
update/insert
Should retry on a fail 
Should log all failed DB attempts

  was:
This is to implement an AsyncEventListener for a write behind caching scenario. 
 Something was put or updated in the Region and it should be persisted into a 
DB asynchronously. 

AC:
1) Should take the JDBC configuration provided by the user via gfsh, cache.xml 
and connect to the DB 
2) Should log a DB connection failure and retry x number of times
3) Should take the PDX object and convert it to a JDBC statement for DB 
update/insert
4) Should retry on a fail (I think this is automatic when set via configuration)
5) Should log all failed DB attempts


> Implement AsyncEventListener for PDX to JDBC
> 
>
> Key: GEODE-3783
> URL: https://issues.apache.org/jira/browse/GEODE-3783
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is to implement an AsyncEventListener for a write behind caching 
> scenario.  Something was put or updated in the Region and it should be 
> persisted into a DB asynchronously. 
> Should take the JDBC configuration from cache.xml and connect to the DB 
> Should log a DB connection failure and retry x number of times
> Should take the PDX object and convert it to a JDBC statement for DB 
> update/insert
> Should retry on a fail 
> Should log all failed DB attempts



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


[jira] [Updated] (GEODE-3823) Implement a CacheLoader for JDBC to PDX

2017-11-17 Thread Fred Krone (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Krone updated GEODE-3823:
--
Description: 
This is for a 'read through' to the DB scenario when the entry is not found in 
a Region.  This implementation should take a result set and convert to PDX for 
the cache.

Make a SQL statement to query by the key provided.  dbName must match the 
Region name.

Check each ResultSet field for type and convert. Create a PDXInstance insert 
values.  Region can (should?) have its type set so we'll know what the type is.
   
If the value is not in the cache it should take configured JDBC credentials and 
connect to DB
Should log any connection error and retry x amount of times
On connect should execute query using the provided key as UID
On successful query should create PDX object, map JDBC values to PDX object, 
put PDX object in the cache, return value
Should only return one value -- multiple values should be logged and error
JDBC execution errors should be logged


  was:
This is for a 'read through' to the DB scenario when the entry is not found in 
a Region.  This implementation should take a result set and convert to PDX for 
the cache.

Make a SQL statement to query by the key provided.  dbName must match the 
Region name.

Check each ResultSet field for type and convert. Create a PDXInstance insert 
values.  Region can (should?) have its type set so we'll know what the type is.
   
AC:
If the value is not in the cache it should take configured JDBC credentials and 
connect to DB
Should log any connection error and retry x amount of times
On connect should execute query using the provided key as UID
On successful query should create PDX object, map JDBC values to PDX object, 
put PDX object in the cache, return value
Should only return one value -- multiple values should be logged and error
JDBC execution errors should be logged



> Implement a CacheLoader for JDBC to PDX
> ---
>
> Key: GEODE-3823
> URL: https://issues.apache.org/jira/browse/GEODE-3823
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is for a 'read through' to the DB scenario when the entry is not found 
> in a Region.  This implementation should take a result set and convert to PDX 
> for the cache.
> Make a SQL statement to query by the key provided.  dbName must match the 
> Region name.
> Check each ResultSet field for type and convert. Create a PDXInstance insert 
> values.  Region can (should?) have its type set so we'll know what the type 
> is.
>
> If the value is not in the cache it should take configured JDBC credentials 
> and connect to DB
> Should log any connection error and retry x amount of times
> On connect should execute query using the provided key as UID
> On successful query should create PDX object, map JDBC values to PDX object, 
> put PDX object in the cache, return value
> Should only return one value -- multiple values should be logged and error
> JDBC execution errors should be logged



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


[jira] [Created] (GEODE-3994) create async-event-queue command should fail if we are trying to create the queue with the same queueId on different groups

2017-11-17 Thread Jinmei Liao (JIRA)
Jinmei Liao created GEODE-3994:
--

 Summary: create async-event-queue command should fail if we are 
trying to create the queue with the same queueId on different groups
 Key: GEODE-3994
 URL: https://issues.apache.org/jira/browse/GEODE-3994
 Project: Geode
  Issue Type: Bug
Reporter: Jinmei Liao


create async-event-queue --id=queue --group=group1 --listener=xxx
create async-event-queue --id=queue --group=group2 --listener=xxx

Currently, if group1 and group2 have common members, the second command would 
fail partially, the queue is created on some member but not another, but the 
cluster configuration is updated already. Future server that might belong to 
both groups will have trouble creating the queue. It would be a good idea to 
check for unique queue name. Besides, they might give the same name with 
different listener, which will add to the confusion.



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


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

PurelyApplied opened a new pull request #1070: GEODE-3539: Add test coverage to 
'alter disk-store'.
URL: https://github.com/apache/geode/pull/1070
 
 
   * Remove flaky testing from DiskStoreCommandsDUnitTest, converted to 
AlterDiskStoreDUnitTest
   * Added AlterDiskStoreIntegrationTest for testing of option conflict
   
   ---
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


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


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



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


[jira] [Commented] (GEODE-3982) MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3982:


Commit 245a4ff25195ffde2f7a5fefbcba4ac86fa89e82 in geode's branch 
refs/heads/develop from [~huynhja]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=245a4ff ]

GEODE-3982: MemoryIndexStoreIterator should not call GemFireCacheImpl (#1064)



> MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance
> -
>
> Key: GEODE-3982
> URL: https://issues.apache.org/jira/browse/GEODE-3982
> Project: Geode
>  Issue Type: Bug
>  Components: querying
>Reporter: Jason Huynh
>Assignee: Jason Huynh
>
> This call should be removed from the constructor and instead be passed in.  
> There is already a handle to the cache from the memory index store itself.  
> The current call can also lead to an NPE when the cache is closing and query 
> is executed.



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


[jira] [Commented] (GEODE-3982) MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

jhuynh1 closed pull request #1064: GEODE-3982: MemoryIndexStoreIterator should 
not call GemFireCacheImpl
URL: https://github.com/apache/geode/pull/1064
 
 
   

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/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MemoryIndexStore.java
 
b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MemoryIndexStore.java
index 21f5a167ce..116262b1c4 100644
--- 
a/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MemoryIndexStore.java
+++ 
b/geode-core/src/main/java/org/apache/geode/cache/query/internal/index/MemoryIndexStore.java
@@ -612,7 +612,7 @@ public MemoryIndexStoreKey next() {
 MemoryIndexStoreEntry currentEntry;
 
 MemoryIndexStoreIterator(Map submap, Object indexKey, Collection 
keysToRemove) {
-  this(submap, indexKey, keysToRemove, 
GemFireCacheImpl.getInstance().cacheTimeMillis());
+  this(submap, indexKey, keysToRemove, cache.cacheTimeMillis());
 }
 
 private MemoryIndexStoreIterator(Map submap, Object indexKey, Collection 
keysToRemove,
diff --git 
a/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/MemoryIndexStoreJUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/MemoryIndexStoreJUnitTest.java
index cc8e3fd48c..873c67a4a2 100644
--- 
a/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/MemoryIndexStoreJUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/MemoryIndexStoreJUnitTest.java
@@ -74,6 +74,12 @@ public void teardown() {
 GemFireCacheImpl.setInstanceForTests(actualInstance);
   }
 
+  @Test
+  public void createIteratorWhenCacheNulledWhenShuttingDownShouldNotThrowNPE() 
{
+GemFireCacheImpl.setInstanceForTests(null);
+store.get("T");
+  }
+
   @Test
   public void testSizeOfStoreReturnsNumberOfKeysAndNotActualNumberOfValues() {
 IntStream.range(0, 150).forEach(i -> {


 


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


> MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance
> -
>
> Key: GEODE-3982
> URL: https://issues.apache.org/jira/browse/GEODE-3982
> Project: Geode
>  Issue Type: Bug
>  Components: querying
>Reporter: Jason Huynh
>Assignee: Jason Huynh
>
> This call should be removed from the constructor and instead be passed in.  
> There is already a handle to the cache from the memory index store itself.  
> The current call can also lead to an NPE when the cache is closing and query 
> is executed.



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


[jira] [Commented] (GEODE-3940) Backup can hang while trying to get a lock

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3940:


Commit ad786a5699950454ed366174215950ad02ee756a in geode's branch 
refs/heads/feature/GEODE-3781 from [~dschneider]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=ad786a5 ]

Merge remote-tracking branch 'origin/develop' into feature/GEODE-3940


> Backup can hang while trying to get a lock 
> ---
>
> Key: GEODE-3940
> URL: https://issues.apache.org/jira/browse/GEODE-3940
> Project: Geode
>  Issue Type: Bug
>  Components: persistence
>Reporter: Lynn Gallinat
>Assignee: Darrel Schneider
> Fix For: 1.4.0
>
>
> {noformat}
> Backup can hang when createKrf cannot get the compactor lock.
> "Pooled Message Processor 2" #196 daemon prio=10 os_prio=0 
> tid=0x7fef9801e000 nid=0x3cf3 waiting on condition [0x7ff094cd5000]
>java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0xf1a72c60> (a 
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
> at 
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
> at 
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
> at 
> org.apache.geode.internal.cache.Oplog.lockCompactor(Oplog.java:6046)
> < trying to get compactor lock
> at org.apache.geode.internal.cache.Oplog.createKrf(Oplog.java:4157)   
>  < in createKrf
> at org.apache.geode.internal.cache.Oplog.finishKrf(Oplog.java:7746)
> at 
> org.apache.geode.internal.cache.BackupManager.backupOplog(BackupManager.java:580)
> at 
> org.apache.geode.internal.cache.BackupManager.completeBackup(BackupManager.java:270)
> at 
> org.apache.geode.internal.cache.BackupManager.doBackup(BackupManager.java:139)
> at 
> org.apache.geode.admin.internal.FinishBackupRequest.createResponse(FinishBackupRequest.java:102)
> at 
> org.apache.geode.internal.admin.remote.CliLegacyMessage.process(CliLegacyMessage.java:39)
> at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:374)
> at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:440)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at 
> org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:666)
> at 
> org.apache.geode.distributed.internal.DistributionManager$4$1.run(DistributionManager.java:923)
> at java.lang.Thread.run(Thread.java:748)
> The compactor thread already has the compactor lock.
> It is waiting for a DiskEntry lock.
> "Idle OplogCompactor" #379 daemon prio=10 os_prio=0 tid=0x7ff020026000 
> nid=0x6916 waiting for monitor entry [0x7ff08c7ce000]
>java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> org.apache.geode.internal.cache.Oplog.writeOneKeyEntryForKRF(Oplog.java:3924)
> - waiting to lock <0xf1c55c70> (a 
> org.apache.geode.internal.cache.entries.VersionedThinDiskRegionEntryOffHeapStringKey2)
>   <== waiting for DiskEntry lock
> at org.apache.geode.internal.cache.Oplog.createKrf(Oplog.java:4201)   
><=== already in createKrf
> - locked <0xf1a72c30> (a 
> java.util.concurrent.atomic.AtomicBoolean)
> at org.apache.geode.internal.cache.Oplog$2.run(Oplog.java:3875)
> at 
> org.apache.geode.internal.cache.DiskStoreImpl$5.run(DiskStoreImpl.java:4386)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> The DiskEntry lock is held by this thread and is waiting for replies:
> "PartitionedRegion Message Processor26" #238 daemon prio=10 os_prio=0 
> tid=0x7fef9c01f800 nid=0x3dd0 waiting on condition [0x7ff08ebe9000]
>java.lang.Thread.State: TIMED_WAITING (parking

[jira] [Commented] (GEODE-3823) Implement a CacheLoader for JDBC to PDX

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3823:


Commit 69337aaa6bca5274cced16a4a776b6f04709b761 in geode's branch 
refs/heads/feature/GEODE-3781 from [~agingade]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=69337aa ]

GEODE-3781: add geode-connectors module

Introduce new PDX JDBC Connector Service
* GEODE-3782: implement JdbcWriter
* GEODE-3783: implement JdbcAsyncWriter
* GEODE-3823: implement JdbcLoader


> Implement a CacheLoader for JDBC to PDX
> ---
>
> Key: GEODE-3823
> URL: https://issues.apache.org/jira/browse/GEODE-3823
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is for a 'read through' to the DB scenario when the entry is not found 
> in a Region.  This implementation should take a result set and convert to PDX 
> for the cache.
> Make a SQL statement to query by the key provided.  dbName must match the 
> Region name.
> Check each ResultSet field for type and convert. Create a PDXInstance insert 
> values.  Region can (should?) have its type set so we'll know what the type 
> is.
>
> If the value is not in the cache it should take configured JDBC credentials 
> and connect to DB
> Should log any connection error and retry x amount of times
> On connect should execute query using the provided key as UID
> On successful query should create PDX object, map JDBC values to PDX object, 
> put PDX object in the cache, return value
> Should only return one value -- multiple values should be logged and error
> JDBC execution errors should be logged



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


[jira] [Commented] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-1897:


Commit c1db88961a33a12dbad86962262e9a4201a787e5 in geode's branch 
refs/heads/feature/GEODE-3781 from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=c1db889 ]

GEODE-1897: Ensure that eviction-object-sizer also implements Declarable (#1068)

- Minor acceptance test updates

> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Jens Deppe
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100m
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=destroy
> {noformat}



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


[jira] [Commented] (GEODE-3781) Users would like PDX to JDBC connector

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3781:


Commit 69337aaa6bca5274cced16a4a776b6f04709b761 in geode's branch 
refs/heads/feature/GEODE-3781 from [~agingade]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=69337aa ]

GEODE-3781: add geode-connectors module

Introduce new PDX JDBC Connector Service
* GEODE-3782: implement JdbcWriter
* GEODE-3783: implement JdbcAsyncWriter
* GEODE-3823: implement JdbcLoader


> Users would like PDX to JDBC connector
> --
>
> Key: GEODE-3781
> URL: https://issues.apache.org/jira/browse/GEODE-3781
> Project: Geode
>  Issue Type: Wish
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Users would like easy inline caching
> This is the epic for the inline caching improvements -- write behind, write 
> through, read through.
> The goal is here to allow users easy mapping of region to table.  Either the 
> user can provide a simple field to column config file and it is injected at 
> runtime (more flexible) or we use a simple name to name mapping with no 
> configuration needed.  
> Feedback 1: "people don't like the idea of every team writing the same kind 
> of write behind logic again and again"
> Feedback 2: "I write a lot of boiler plate code over and over again for this 
> very thing"



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


[jira] [Commented] (GEODE-1920) CI Failure: WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-1920:


Commit 7f0d5f529c1dc44fecb970a099eb307dd1824235 in geode's branch 
refs/heads/feature/GEODE-3781 from [~nnag]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=7f0d5f5 ]

GEODE-1920 Addition of more logs to the test

* More logs were added at the failure points to figure out what caused 
a failure.
* Refactored by simplifying the code and removing deprecated function 
calls.
* Removed the flaky tag


> CI Failure: 
> WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously
> -
>
> Key: GEODE-1920
> URL: https://issues.apache.org/jira/browse/GEODE-1920
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Reporter: Eric Shu
>  Labels: ci
> Fix For: 1.4.0
>
>
> java.lang.NullPointerException
>   at 
> org.apache.geode.internal.cache.wan.misc.WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously(WanAutoDiscoveryDUnitTest.java:274)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>   at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
>   at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>   at sun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>   at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
>   at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
>   at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>   at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109)
>   at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>   at 
> or

[jira] [Commented] (GEODE-3782) Implement CacheWriter for PDX to JDBC

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3782:


Commit 69337aaa6bca5274cced16a4a776b6f04709b761 in geode's branch 
refs/heads/feature/GEODE-3781 from [~agingade]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=69337aa ]

GEODE-3781: add geode-connectors module

Introduce new PDX JDBC Connector Service
* GEODE-3782: implement JdbcWriter
* GEODE-3783: implement JdbcAsyncWriter
* GEODE-3823: implement JdbcLoader


> Implement CacheWriter for PDX to JDBC
> -
>
> Key: GEODE-3782
> URL: https://issues.apache.org/jira/browse/GEODE-3782
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is for write through from the backend-db --- region.put that should be 
> synchronously written through to the DB
> Most actions are the same as on GEODE-3783 -- except this is a synchronous 
> operation so if the DB update fails in any way the region.put should also 
> fail and return na error.



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


[jira] [Commented] (GEODE-3783) Implement AsyncEventListener for PDX to JDBC

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3783:


Commit 69337aaa6bca5274cced16a4a776b6f04709b761 in geode's branch 
refs/heads/feature/GEODE-3781 from [~agingade]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=69337aa ]

GEODE-3781: add geode-connectors module

Introduce new PDX JDBC Connector Service
* GEODE-3782: implement JdbcWriter
* GEODE-3783: implement JdbcAsyncWriter
* GEODE-3823: implement JdbcLoader


> Implement AsyncEventListener for PDX to JDBC
> 
>
> Key: GEODE-3783
> URL: https://issues.apache.org/jira/browse/GEODE-3783
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> This is to implement an AsyncEventListener for a write behind caching 
> scenario.  Something was put or updated in the Region and it should be 
> persisted into a DB asynchronously. 
> Should take the JDBC configuration from cache.xml and connect to the DB 
> Should log a DB connection failure and retry x number of times
> Should take the PDX object and convert it to a JDBC statement for DB 
> update/insert
> Should retry on a fail 
> Should log all failed DB attempts



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


[jira] [Commented] (GEODE-3985) rolling upgrade tests accidentally rolls vms back to the current version

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3985:


Commit d5e04626b238a98fce1389bd0c9270acade1542e in geode's branch 
refs/heads/feature/GEODE-3781 from [~jinmeiliao]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=d5e0462 ]

GEODE-3985: rolling upgrade tests is prone to accidentally roll the vms back to 
current version (#1067)

*  getVM(int index) call will not roll the vm back to current version.


> rolling upgrade tests accidentally rolls vms back to the current version
> 
>
> Key: GEODE-3985
> URL: https://issues.apache.org/jira/browse/GEODE-3985
> Project: Geode
>  Issue Type: Bug
>Reporter: Jinmei Liao
>Assignee: Jinmei Liao
>




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


[jira] [Commented] (GEODE-3940) Backup can hang while trying to get a lock

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3940:


Commit d59c73030b0d5123158829e8a32acfe28f6b1a9d in geode's branch 
refs/heads/feature/GEODE-3781 from [~dschneider]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=d59c730 ]

Merge pull request #1053 from apache/feature/GEODE-3940

Feature/geode 3940

> Backup can hang while trying to get a lock 
> ---
>
> Key: GEODE-3940
> URL: https://issues.apache.org/jira/browse/GEODE-3940
> Project: Geode
>  Issue Type: Bug
>  Components: persistence
>Reporter: Lynn Gallinat
>Assignee: Darrel Schneider
> Fix For: 1.4.0
>
>
> {noformat}
> Backup can hang when createKrf cannot get the compactor lock.
> "Pooled Message Processor 2" #196 daemon prio=10 os_prio=0 
> tid=0x7fef9801e000 nid=0x3cf3 waiting on condition [0x7ff094cd5000]
>java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for  <0xf1a72c60> (a 
> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
> at 
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
> at 
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
> at 
> org.apache.geode.internal.cache.Oplog.lockCompactor(Oplog.java:6046)
> < trying to get compactor lock
> at org.apache.geode.internal.cache.Oplog.createKrf(Oplog.java:4157)   
>  < in createKrf
> at org.apache.geode.internal.cache.Oplog.finishKrf(Oplog.java:7746)
> at 
> org.apache.geode.internal.cache.BackupManager.backupOplog(BackupManager.java:580)
> at 
> org.apache.geode.internal.cache.BackupManager.completeBackup(BackupManager.java:270)
> at 
> org.apache.geode.internal.cache.BackupManager.doBackup(BackupManager.java:139)
> at 
> org.apache.geode.admin.internal.FinishBackupRequest.createResponse(FinishBackupRequest.java:102)
> at 
> org.apache.geode.internal.admin.remote.CliLegacyMessage.process(CliLegacyMessage.java:39)
> at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:374)
> at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:440)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at 
> org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:666)
> at 
> org.apache.geode.distributed.internal.DistributionManager$4$1.run(DistributionManager.java:923)
> at java.lang.Thread.run(Thread.java:748)
> The compactor thread already has the compactor lock.
> It is waiting for a DiskEntry lock.
> "Idle OplogCompactor" #379 daemon prio=10 os_prio=0 tid=0x7ff020026000 
> nid=0x6916 waiting for monitor entry [0x7ff08c7ce000]
>java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> org.apache.geode.internal.cache.Oplog.writeOneKeyEntryForKRF(Oplog.java:3924)
> - waiting to lock <0xf1c55c70> (a 
> org.apache.geode.internal.cache.entries.VersionedThinDiskRegionEntryOffHeapStringKey2)
>   <== waiting for DiskEntry lock
> at org.apache.geode.internal.cache.Oplog.createKrf(Oplog.java:4201)   
><=== already in createKrf
> - locked <0xf1a72c30> (a 
> java.util.concurrent.atomic.AtomicBoolean)
> at org.apache.geode.internal.cache.Oplog$2.run(Oplog.java:3875)
> at 
> org.apache.geode.internal.cache.DiskStoreImpl$5.run(DiskStoreImpl.java:4386)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> The DiskEntry lock is held by this thread and is waiting for replies:
> "PartitionedRegion Message Processor26" #238 daemon prio=10 os_prio=0 
> tid=0x7fef9c01f800 nid=0x3dd0 waiting on condition [0x7ff08ebe9000]
>java.lang.Thread.State: TIMED_WAITING (pa

[jira] [Commented] (GEODE-1920) CI Failure: WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-1920:


Commit 478665f17ef56e3d1bd2a0da1fe4d041476170a7 in geode's branch 
refs/heads/feature/GEODE-3781 from [~nabarunnag]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=478665f ]

Revert "GEODE-1920 Addition of more logs to the test"

This reverts commit 7f0d5f529c1dc44fecb970a099eb307dd1824235.


> CI Failure: 
> WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously
> -
>
> Key: GEODE-1920
> URL: https://issues.apache.org/jira/browse/GEODE-1920
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Reporter: Eric Shu
>  Labels: ci
> Fix For: 1.4.0
>
>
> java.lang.NullPointerException
>   at 
> org.apache.geode.internal.cache.wan.misc.WanAutoDiscoveryDUnitTest.test_NY_Recognises_TK_AND_HK_Simultaneously(WanAutoDiscoveryDUnitTest.java:274)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>   at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
>   at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
>   at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>   at sun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>   at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
>   at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
>   at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>   at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109)
>   at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:497)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>   at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>   at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:377)
>   at 
> org.gradle.internal.concurrent.Execu

[jira] [Commented] (GEODE-3781) Users would like PDX to JDBC connector

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

kirklund opened a new pull request #1071: GEODE-3781: add geode-connectors 
module
URL: https://github.com/apache/geode/pull/1071
 
 
   Introduce new PDX JDBC Connector Service
   * GEODE-3782: implement JdbcWriter
   * GEODE-3783: implement JdbcAsyncWriter
   * GEODE-3823: implement JdbcLoader
   


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


> Users would like PDX to JDBC connector
> --
>
> Key: GEODE-3781
> URL: https://issues.apache.org/jira/browse/GEODE-3781
> Project: Geode
>  Issue Type: Wish
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Users would like easy inline caching
> This is the epic for the inline caching improvements -- write behind, write 
> through, read through.
> The goal is here to allow users easy mapping of region to table.  Either the 
> user can provide a simple field to column config file and it is injected at 
> runtime (more flexible) or we use a simple name to name mapping with no 
> configuration needed.  
> Feedback 1: "people don't like the idea of every team writing the same kind 
> of write behind logic again and again"
> Feedback 2: "I write a lot of boiler plate code over and over again for this 
> very thing"



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


[jira] [Commented] (GEODE-3007) Simplify support for custom GFSH commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

jdeppe-pivotal opened a new pull request #1072: Revert "GEODE-3007: Simplify 
support for custom GFSH commands (#1042)"
URL: https://github.com/apache/geode/pull/1072
 
 
   This reverts commit 0e5dd6ba45519463147337c8265db15e8f1840fc.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


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


> Simplify support for custom GFSH commands
> -
>
> Key: GEODE-3007
> URL: https://issues.apache.org/jira/browse/GEODE-3007
> Project: Geode
>  Issue Type: Improvement
>  Components: docs, gfsh
>Reporter: Jared Stewart
>Assignee: Jared Stewart
>
> Geode currently supports three ways to load GFSH commands: 
> 1. Scan the classpath for commands in 
> "org.apache.geode.management.internal.cli.commands”
> 2. Scan the classpath for commands in a package specified by a user via the 
> “user-command-packages” system property. 
> 3. Scan the classpath for commands registered in files inside 
> META-INF.services (e.g. 
> "geode-core/src/test/resources/META-INF/services/org.springframework.shell.core.CommandMarker”)
>  
> After the improvements made by GEODE-2989, there is no reason to require a 
> user to specify the location of their custom commands via one of these 
> mechanisms.  Instead, we should simply scan the entire classpath for any 
> classes implementing CommandMarker (regardless of whatever packages they live 
> in).  



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


[jira] [Resolved] (GEODE-3822) Spike: research JSON to PDX

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund resolved GEODE-3822.
--
Resolution: Won't Fix

No need to define spike in Geode JIRA.

> Spike: research JSON to PDX
> ---
>
> Key: GEODE-3822
> URL: https://issues.apache.org/jira/browse/GEODE-3822
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> Users would like the ability to be able to convert JSON to PDX, and make sure 
> that PDX can be converted to JDBC.



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


[jira] [Closed] (GEODE-3822) Spike: research JSON to PDX

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund closed GEODE-3822.


> Spike: research JSON to PDX
> ---
>
> Key: GEODE-3822
> URL: https://issues.apache.org/jira/browse/GEODE-3822
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> Users would like the ability to be able to convert JSON to PDX, and make sure 
> that PDX can be converted to JDBC.



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


[jira] [Updated] (GEODE-3824) Configure JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Description: 
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

NAME
create jdbc-connection
SYNOPSIS
This provides the ability to specify the parameters necessary to communicate 
with a database through JDBC.
SYNTAX
create jdbc connection --name=value --url=value [--user=value] 
[--password=value] [--params=value[,value...]] [--reset-to-defaults]
PARAMETERS
name
Set name for this connection
Required: true
url
Set the url location for the database
Required: true
user
Set name of user to connect to database as
Required: false
password
Set the password to use when connecting to database
Required: false
Params
Set of additional parameters to use when connecting to database. No 
parameters 
are yet supported
Required: false


  was:
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

SYNTAX
configure jdbcConnection [--name==valie] [--address=value] [--hostname=value] 
[--port=value] [--idle-timeout=value] [--ssl=value] [--reset-to-defaults]

PARAMETERS

name
The name of the jdbcConnection 
Required: true
Default: jdbcConnection

address
Set the listening address.
Requires: false
Default: 0.0.0.0

hostname
Set the hostname used in URI generation. If SSL is enabled this name must match 
the common name (CN) of installed key store certificate.
Required: false
Default: IP address of the local host

port
Port number to listen on. A port number of 0 means that the port number is 
automatically allocated, typically from an ephemeral port range.
Required: false
Default: 8080

idle-timeout
Set the idle timeout in milliseconds. If not data is transmitted for this 
period of time the connection may be closed. A value of 0 disables idle timeout.
Required: false
Default: 6

ssl
JSON text of the form ('key-store': value, 'key-store-password': value, 
['key-store-type': value,] 'trust-store': value, 'trust-store-password': 
value[, `'trust-store-type': value]).
reset-to-defaults
Resets the jdbc protocol configuration back to default values.

Describe gpfdist protocol configuration





> Configure JDBC connection via GFSH
> --
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to communicate 
> with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]] [--reset-to-defaults]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
>   Set of additional parameters to use when connecting to database. No 
> parameters 
>   are yet supported
>   Required: false



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


[jira] [Updated] (GEODE-3824) Configure JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Description: 
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

{noformat}
NAME
create jdbc-connection
SYNOPSIS
This provides the ability to specify the parameters necessary to 
communicate with a database through JDBC.
SYNTAX
create jdbc connection --name=value --url=value [--user=value] 
[--password=value] [--params=value[,value...]] [--reset-to-defaults]
PARAMETERS
name
Set name for this connection
Required: true
url
Set the url location for the database
Required: true
user
Set name of user to connect to database as
Required: false
password
Set the password to use when connecting to database
Required: false
Params
Set of additional parameters to use when connecting to database. No 
parameters are yet supported
Required: false
{noformat}

  was:
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

NAME
create jdbc-connection
SYNOPSIS
This provides the ability to specify the parameters necessary to communicate 
with a database through JDBC.
SYNTAX
create jdbc connection --name=value --url=value [--user=value] 
[--password=value] [--params=value[,value...]] [--reset-to-defaults]
PARAMETERS
name
Set name for this connection
Required: true
url
Set the url location for the database
Required: true
user
Set name of user to connect to database as
Required: false
password
Set the password to use when connecting to database
Required: false
Params
Set of additional parameters to use when connecting to database. No 
parameters 
are yet supported
Required: false



> Configure JDBC connection via GFSH
> --
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]] [--reset-to-defaults]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Summary: Create JDBC connection via GFSH  (was: Configure JDBC connection 
via GFSH)

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]] [--reset-to-defaults]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Description: 
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

{noformat}
NAME
create jdbc-connection
SYNOPSIS
This provides the ability to specify the parameters necessary to 
communicate with a database through JDBC.
SYNTAX
create jdbc connection --name=value --url=value [--user=value] 
[--password=value] [--params=value[,value...]]
PARAMETERS
name
Set name for this connection
Required: true
url
Set the url location for the database
Required: true
user
Set name of user to connect to database as
Required: false
password
Set the password to use when connecting to database
Required: false
Params
Set of additional parameters to use when connecting to database. No 
parameters are yet supported
Required: false
{noformat}

  was:
Need to be able to configure establish a JDBC connection via GFSH and reference 
it when tying a region to a DB via PDX-JDBC.

{noformat}
NAME
create jdbc-connection
SYNOPSIS
This provides the ability to specify the parameters necessary to 
communicate with a database through JDBC.
SYNTAX
create jdbc connection --name=value --url=value [--user=value] 
[--password=value] [--params=value[,value...]] [--reset-to-defaults]
PARAMETERS
name
Set name for this connection
Required: true
url
Set the url location for the database
Required: true
user
Set name of user to connect to database as
Required: false
password
Set the password to use when connecting to database
Required: false
Params
Set of additional parameters to use when connecting to database. No 
parameters are yet supported
Required: false
{noformat}


> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3988) Create Region PDX to JDBC Table mapping via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3988:
-
Summary: Create Region PDX to JDBC Table mapping via GFSH  (was: Create 
PDX-JDBC mapping via gfsh)

> Create Region PDX to JDBC Table mapping via GFSH
> 
>
> Key: GEODE-3988
> URL: https://issues.apache.org/jira/browse/GEODE-3988
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> create jdbc mapping --data-source=value --pdx-name=value --region=value 
> --table=value --id=value[,value...] 
> [--field=('name': value, ['column': value,] ['class': value,] ['type': 
> value])]
> PARAMETERS
> jdbc-config
> id for JDBC config to be used.
> Required: true
> pdx-name
> Name for GemFire PDX to parse the PDX fields.
> Required: true
> region
> Name/path of the region to be associated with DB table.
> Required: true
> table
> Name of DB table to be associated with GemFire region. The schema can be 
> prefixed: for example “schema.table”.
> Required: true
> keyPartOfValue 
> fieldToColumnMap
> id
> Name of PDX field to use as the key in the identification of a GemFire entry.
> Required: true



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


[jira] [Updated] (GEODE-3988) Create Region PDX to JDBC Table mapping via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3988:
-
Description: 
{noformat}
NAME
create jdbc-region-mapping
SYNOPSIS
Specify the mapping between DB table columns and the GemFire region fields.
SYNTAX
create jdbc-region-mapping --connection-name=value --region=value 
--table=value --pdx-name=[value] [--primary-key-in-value] 
[--fields=field:db-column[,field:db-column...]]
PARAMETERS
connection-name
Name of the previously created JDBC connection configuration to be used
Required: true
pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: false
region
Name/path of the region to be associated with DB table.
Required: true
table
Name of DB table to be associated with GemFire region. 
Required: true
primary-key-in-value
Is the value for the primary key located in the region entry value (as 
opposed to being the entry key).
Required: false
Default: false (currently)
fields
Key, value pairs for mapping fields of Pdx instance to database columns.
Required: false
Default: Pdx field names are used as database column names
{noformat}

  was:
{noformat}
NAME
create jdbc-region-mapping
SYNOPSIS
Specify the mapping between DB table columns and the GemFire region fields.
SYNTAX
create jdbc-region-mapping --connection-name=value --region=value 
--table=value --pdx-name=[value] [-.-primary-key-in-value] 
[--fields=field:db-column[,field:db-column...]]
PARAMETERS
connection-name
Name of the previously created JDBC connection configuration to be used
Required: true
pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: false
region
Name/path of the region to be associated with DB table.
Required: true
table
Name of DB table to be associated with GemFire region. 
Required: true
primary-key-in-value
Is the value for the primary key located in the region entry value (as 
opposed to being the entry key).
Required: false
Default: false (currently)
fields
Key, value pairs for mapping fields of Pdx instance to database columns.
Required: false
Default: Pdx field names are used as database column names
{noformat}


> Create Region PDX to JDBC Table mapping via GFSH
> 
>
> Key: GEODE-3988
> URL: https://issues.apache.org/jira/browse/GEODE-3988
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> {noformat}
> NAME
> create jdbc-region-mapping
> SYNOPSIS
> Specify the mapping between DB table columns and the GemFire region 
> fields.
> SYNTAX
> create jdbc-region-mapping --connection-name=value --region=value 
> --table=value --pdx-name=[value] [--primary-key-in-value] 
> [--fields=field:db-column[,field:db-column...]]
> PARAMETERS
> connection-name
> Name of the previously created JDBC connection configuration to be 
> used
> Required: true
> pdx-name
> Name for GemFire PDX to parse the PDX fields.
> Required: false
> region
> Name/path of the region to be associated with DB table.
>   Required: true
> table
> Name of DB table to be associated with GemFire region. 
> Required: true
> primary-key-in-value
> Is the value for the primary key located in the region entry value 
> (as opposed to being the entry key).
> Required: false
> Default: false (currently)
> fields
> Key, value pairs for mapping fields of Pdx instance to database 
> columns.
> Required: false
> Default: Pdx field names are used as database column names
> {noformat}



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


[jira] [Updated] (GEODE-3988) Create Region PDX to JDBC Table mapping via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3988:
-
Description: 
{noformat}
NAME
create jdbc-region-mapping
SYNOPSIS
Specify the mapping between DB table columns and the GemFire region fields.
SYNTAX
create jdbc-region-mapping --connection-name=value --region=value 
--table=value --pdx-name=[value] [-.-primary-key-in-value] 
[--fields=field:db-column[,field:db-column...]]
PARAMETERS
connection-name
Name of the previously created JDBC connection configuration to be used
Required: true
pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: false
region
Name/path of the region to be associated with DB table.
Required: true
table
Name of DB table to be associated with GemFire region. 
Required: true
primary-key-in-value
Is the value for the primary key located in the region entry value (as 
opposed to being the entry key).
Required: false
Default: false (currently)
fields
Key, value pairs for mapping fields of Pdx instance to database columns.
Required: false
Default: Pdx field names are used as database column names
{noformat}

  was:
create jdbc mapping --data-source=value --pdx-name=value --region=value 
--table=value --id=value[,value...] 
[--field=('name': value, ['column': value,] ['class': value,] ['type': value])]

PARAMETERS
jdbc-config
id for JDBC config to be used.
Required: true

pdx-name
Name for GemFire PDX to parse the PDX fields.
Required: true

region
Name/path of the region to be associated with DB table.
Required: true

table
Name of DB table to be associated with GemFire region. The schema can be 
prefixed: for example “schema.table”.
Required: true

keyPartOfValue 

fieldToColumnMap

id
Name of PDX field to use as the key in the identification of a GemFire entry.
Required: true




> Create Region PDX to JDBC Table mapping via GFSH
> 
>
> Key: GEODE-3988
> URL: https://issues.apache.org/jira/browse/GEODE-3988
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> {noformat}
> NAME
> create jdbc-region-mapping
> SYNOPSIS
> Specify the mapping between DB table columns and the GemFire region 
> fields.
> SYNTAX
> create jdbc-region-mapping --connection-name=value --region=value 
> --table=value --pdx-name=[value] [-.-primary-key-in-value] 
> [--fields=field:db-column[,field:db-column...]]
> PARAMETERS
> connection-name
> Name of the previously created JDBC connection configuration to be 
> used
> Required: true
> pdx-name
> Name for GemFire PDX to parse the PDX fields.
> Required: false
> region
> Name/path of the region to be associated with DB table.
>   Required: true
> table
> Name of DB table to be associated with GemFire region. 
> Required: true
> primary-key-in-value
> Is the value for the primary key located in the region entry value 
> (as opposed to being the entry key).
> Required: false
> Default: false (currently)
> fields
> Key, value pairs for mapping fields of Pdx instance to database 
> columns.
> Required: false
> Default: Pdx field names are used as database column names
> {noformat}



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


[jira] [Closed] (GEODE-3842) Spike: Review field implementations for JDBC to PDX

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund closed GEODE-3842.


> Spike: Review field implementations for JDBC to PDX
> ---
>
> Key: GEODE-3842
> URL: https://issues.apache.org/jira/browse/GEODE-3842
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> There are prior implementations of this work we should review.



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


[jira] [Assigned] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3824:


Assignee: Kirk Lund

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Component/s: regions

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh, regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund updated GEODE-3824:
-
Component/s: (was: gfsh)

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>Assignee: Kirk Lund
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Assigned] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Kirk Lund (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk Lund reassigned GEODE-3824:


Assignee: (was: Kirk Lund)

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: regions
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3994) create async-event-queue command should fail if we are trying to create the queue with the same queueId but different attributes.

2017-11-17 Thread Jinmei Liao (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinmei Liao updated GEODE-3994:
---
Summary: create async-event-queue command should fail if we are trying to 
create the queue with the same queueId but different attributes.  (was: create 
async-event-queue command should fail if we are trying to create the queue with 
the same queueId on different groups)

> create async-event-queue command should fail if we are trying to create the 
> queue with the same queueId but different attributes.
> -
>
> Key: GEODE-3994
> URL: https://issues.apache.org/jira/browse/GEODE-3994
> Project: Geode
>  Issue Type: Bug
>Reporter: Jinmei Liao
>
> create async-event-queue --id=queue --group=group1 --listener=xxx
> create async-event-queue --id=queue --group=group2 --listener=xxx
> Currently, if group1 and group2 have common members, the second command would 
> fail partially, the queue is created on some member but not another, but the 
> cluster configuration is updated already. Future server that might belong to 
> both groups will have trouble creating the queue. It would be a good idea to 
> check for unique queue name. Besides, they might give the same name with 
> different listener, which will add to the confusion.



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


[jira] [Updated] (GEODE-3994) create async-event-queue command should fail if we are trying to create the queue with the same queueId but different attributes.

2017-11-17 Thread Jinmei Liao (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinmei Liao updated GEODE-3994:
---
Description: 
create async-event-queue --id=queue --group=group1 --listener=xxx
create async-event-queue --id=queue --group=group2 --listener=yyy

Currently, if group1 and group2 have common members, the second command would 
fail partially, the queue is created on some member but not another, but the 
cluster configuration is updated already. Future server that might belong to 
both groups will have trouble creating the queue. It would be a good idea to 
check for unique queue name. Besides, they might give the same name with 
different listener, which will add to the confusion.

  was:
create async-event-queue --id=queue --group=group1 --listener=xxx
create async-event-queue --id=queue --group=group2 --listener=xxx

Currently, if group1 and group2 have common members, the second command would 
fail partially, the queue is created on some member but not another, but the 
cluster configuration is updated already. Future server that might belong to 
both groups will have trouble creating the queue. It would be a good idea to 
check for unique queue name. Besides, they might give the same name with 
different listener, which will add to the confusion.


> create async-event-queue command should fail if we are trying to create the 
> queue with the same queueId but different attributes.
> -
>
> Key: GEODE-3994
> URL: https://issues.apache.org/jira/browse/GEODE-3994
> Project: Geode
>  Issue Type: Bug
>Reporter: Jinmei Liao
>
> create async-event-queue --id=queue --group=group1 --listener=xxx
> create async-event-queue --id=queue --group=group2 --listener=yyy
> Currently, if group1 and group2 have common members, the second command would 
> fail partially, the queue is created on some member but not another, but the 
> cluster configuration is updated already. Future server that might belong to 
> both groups will have trouble creating the queue. It would be a good idea to 
> check for unique queue name. Besides, they might give the same name with 
> different listener, which will add to the confusion.



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


[jira] [Updated] (GEODE-3994) create async-event-queue command should fail if we are trying to create the queue with the same queueId but different attributes.

2017-11-17 Thread Jinmei Liao (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinmei Liao updated GEODE-3994:
---
Description: 
create async-event-queue --id=queue --group=group1 --listener=xxx
create async-event-queue --id=queue --group=group2 --listener=yyy

Currently, if group1 and group2 have common members, the second command would 
fail partially, the queue is created on some member but not another, but the 
cluster configuration is updated already. Future server that might belong to 
both groups can't decide which queue to create.


  was:
create async-event-queue --id=queue --group=group1 --listener=xxx
create async-event-queue --id=queue --group=group2 --listener=yyy

Currently, if group1 and group2 have common members, the second command would 
fail partially, the queue is created on some member but not another, but the 
cluster configuration is updated already. Future server that might belong to 
both groups will have trouble creating the queue. It would be a good idea to 
check for unique queue name. Besides, they might give the same name with 
different listener, which will add to the confusion.


> create async-event-queue command should fail if we are trying to create the 
> queue with the same queueId but different attributes.
> -
>
> Key: GEODE-3994
> URL: https://issues.apache.org/jira/browse/GEODE-3994
> Project: Geode
>  Issue Type: Bug
>Reporter: Jinmei Liao
>
> create async-event-queue --id=queue --group=group1 --listener=xxx
> create async-event-queue --id=queue --group=group2 --listener=yyy
> Currently, if group1 and group2 have common members, the second command would 
> fail partially, the queue is created on some member but not another, but the 
> cluster configuration is updated already. Future server that might belong to 
> both groups can't decide which queue to create.



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


[jira] [Updated] (GEODE-3824) Create JDBC connection via GFSH

2017-11-17 Thread Karen Smoler Miller (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Karen Smoler Miller updated GEODE-3824:
---
Component/s: docs

> Create JDBC connection via GFSH
> ---
>
> Key: GEODE-3824
> URL: https://issues.apache.org/jira/browse/GEODE-3824
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, regions
>Reporter: Fred Krone
>
> Need to be able to configure establish a JDBC connection via GFSH and 
> reference it when tying a region to a DB via PDX-JDBC.
> {noformat}
> NAME
> create jdbc-connection
> SYNOPSIS
> This provides the ability to specify the parameters necessary to 
> communicate with a database through JDBC.
> SYNTAX
> create jdbc connection --name=value --url=value [--user=value] 
> [--password=value] [--params=value[,value...]]
> PARAMETERS
> name
> Set name for this connection
> Required: true
> url
> Set the url location for the database
> Required: true
> user
> Set name of user to connect to database as
> Required: false
> password
> Set the password to use when connecting to database
> Required: false
> Params
> Set of additional parameters to use when connecting to database. No 
> parameters are yet supported
> Required: false
> {noformat}



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


[jira] [Updated] (GEODE-3929) Modify existing gfsh create lucene index command to create the index on an existing region

2017-11-17 Thread Karen Smoler Miller (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Karen Smoler Miller updated GEODE-3929:
---
Component/s: docs

> Modify existing gfsh create lucene index command to create the index on an 
> existing region
> --
>
> Key: GEODE-3929
> URL: https://issues.apache.org/jira/browse/GEODE-3929
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, lucene
>Reporter: Jason Huynh
>
> After GEODE-3930 is done, we will have an internal API that lets us create a 
> lucene index on an existing region (without indexing the data that is 
> present). We should modify the existing LuceneCreateIndexFunction to check to 
> see if the user region already exists. If so, instead of throwing an 
> exception we should go ahead and call the internal API adding in GEODE-3930.
> Acceptance:
> Calling "create lucene index" on an existing region in gfsh succeeds. After 
> calling create lucene index on an existing region, the index will be useable 
> - new updates will be added to the index, and queries will work. Data that 
> was already in the region before the create index will not be indexed as part 
> of this story.
> After calling create lucene index on an existing region, cluster 
> configuration should be updated and new members starting up should create the 
> index.



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


[jira] [Updated] (GEODE-3635) Echo command does not behave as documented

2017-11-17 Thread Patrick Rhomberg (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Patrick Rhomberg updated GEODE-3635:

Summary: Echo command does not behave as documented  (was: Set Variable 
command does not behave as documented)

> Echo command does not behave as documented
> --
>
> Key: GEODE-3635
> URL: https://issues.apache.org/jira/browse/GEODE-3635
> Project: Geode
>  Issue Type: Bug
>  Components: docs, gfsh
>Reporter: Patrick Rhomberg
>
> The Set Variable command does appear to set gfsh environment properties, but 
> these values are only accessible by Java methods that use them.  They do not 
> parse in the bash style.  For instance:
> {noformat}
> gfsh> set variable --name=FOO --value=bar
> Value for variable FOO is now: bar.
> gfsh> echo --string=${FOO}
> ${FOO}
> {noformat}
> Examining the implementation, there is an explicit special case of
> {noformat}
> gfsh> echo --string=$*
> {noformat}
> which will describe the current gfsh environment.  Rather than this special 
> case, this may be better suited to a Describe Environment command.



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


[jira] [Created] (GEODE-3995) Rename server_api.proto

2017-11-17 Thread Brian Rowe (JIRA)
Brian Rowe created GEODE-3995:
-

 Summary: Rename server_api.proto
 Key: GEODE-3995
 URL: https://issues.apache.org/jira/browse/GEODE-3995
 Project: Geode
  Issue Type: Task
  Components: client/server
Reporter: Brian Rowe


The server_api.proto file contains the message definitions for locator 
messages, making the name rather misleading (these are actually the only 
messages the cache server can't handle).



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


[jira] [Commented] (GEODE-3995) Rename server_api.proto

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

WireBaron opened a new pull request #1074: GEODE-3995: Moving server_api.proto 
to locator_api.proto.
URL: https://github.com/apache/geode/pull/1074
 
 
   @galen-pivotal @bschuchardt @upthewaterspout @PivotalSarge 
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [x] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [x] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [x] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


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


> Rename server_api.proto
> ---
>
> Key: GEODE-3995
> URL: https://issues.apache.org/jira/browse/GEODE-3995
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Brian Rowe
>
> The server_api.proto file contains the message definitions for locator 
> messages, making the name rather misleading (these are actually the only 
> messages the cache server can't handle).



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


[jira] [Created] (GEODE-3996) CacheWriter methods that call EntryEvent.getOldValue may see it return null even when a non-null old value exists

2017-11-17 Thread Darrel Schneider (JIRA)
Darrel Schneider created GEODE-3996:
---

 Summary: CacheWriter methods that call EntryEvent.getOldValue may 
see it return null even when a non-null old value exists
 Key: GEODE-3996
 URL: https://issues.apache.org/jira/browse/GEODE-3996
 Project: Geode
  Issue Type: Bug
  Components: regions
Reporter: Darrel Schneider


If a region configures eviction with overflow to disk then it is possible that 
a CacheWriter method that calls EntryEvent.getOldValue may see it return null. 
This happens when the old value for that entry was evicted to disk.
In the case of a CacheWriter, geode should in this case ask for the old value 
that is on disk and return it.




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


[jira] [Assigned] (GEODE-3996) CacheWriter methods that call EntryEvent.getOldValue may see it return null even when a non-null old value exists

2017-11-17 Thread Darrel Schneider (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darrel Schneider reassigned GEODE-3996:
---

Assignee: Darrel Schneider

> CacheWriter methods that call EntryEvent.getOldValue may see it return null 
> even when a non-null old value exists
> -
>
> Key: GEODE-3996
> URL: https://issues.apache.org/jira/browse/GEODE-3996
> Project: Geode
>  Issue Type: Bug
>  Components: regions
>Reporter: Darrel Schneider
>Assignee: Darrel Schneider
>
> If a region configures eviction with overflow to disk then it is possible 
> that a CacheWriter method that calls EntryEvent.getOldValue may see it return 
> null. This happens when the old value for that entry was evicted to disk.
> In the case of a CacheWriter, geode should in this case ask for the old value 
> that is on disk and return it.



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


[jira] [Commented] (GEODE-3977) .NET QueryService templating should match usage

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3977:


Commit c025448bf9d2e8da5295f244751944d8147ada18 in geode-native's branch 
refs/heads/develop from [~mhansonp]
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=c025448 ]

 GEODE-3977: .NET QueryService template args removed



> .NET QueryService templating should match usage
> ---
>
> Key: GEODE-3977
> URL: https://issues.apache.org/jira/browse/GEODE-3977
> Project: Geode
>  Issue Type: Bug
>  Components: native client
>Reporter: Ernest Burghardt
>
> QueryService uses generics
>  generic
>   //generic
>   Query^ QueryService::NewQuery(String^ query)
> but only TResult is used and this can be confusing to the user/developer...



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


[jira] [Resolved] (GEODE-3389) Cleanup CacheAttributes

2017-11-17 Thread Jacob S. Barrett (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob S. Barrett resolved GEODE-3389.
-
Resolution: Duplicate

> Cleanup CacheAttributes
> ---
>
> Key: GEODE-3389
> URL: https://issues.apache.org/jira/browse/GEODE-3389
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: Ernest Burghardt
>
> investigate usage and remove:
>   void setEndpoints(char* endpoints);
>   int32_t compareStringAttribute(char* attributeA, char* attributeB) const;
>
>   void copyStringAttribute(char*& lhs, const char* rhs);



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


[jira] [Commented] (GEODE-3969) Protobuf protocol requests includes a CallbackArgs field

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

WireBaron commented on a change in pull request #1047: GEODE-3969: Remove 
CallbackArgs from protobuf requests
URL: https://github.com/apache/geode/pull/1047#discussion_r151807947
 
 

 ##
 File path: geode-protobuf/src/main/proto/v1/clientProtocol.proto
 ##
 @@ -35,7 +35,6 @@ message Message {
 }
 
 message Request {
-CallbackArguments callbackArg = 1;
 oneof requestAPI {
 PutRequest putRequest = 2;
 
 Review comment:
   I decided to address this by changing the requestAPI field numbers to start 
at 10.  This lets us add some fields to these messages in the future without 
having to worry about colliding with the requestAPI field numbers (as we do 
expect to keep adding new types of messages here).


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


> Protobuf protocol requests includes a CallbackArgs field
> 
>
> Key: GEODE-3969
> URL: https://issues.apache.org/jira/browse/GEODE-3969
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: Brian Rowe
>
> We eventually want to support allowing clients to pass arguments to cache 
> listeners in their requests, but this functionality is not going to be 
> present in v1.  Having this field is therefore misleading and it should be 
> removed.



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


[jira] [Commented] (GEODE-3969) Protobuf protocol requests includes a CallbackArgs field

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

WireBaron commented on issue #1047: GEODE-3969: Remove CallbackArgs from 
protobuf requests
URL: https://github.com/apache/geode/pull/1047#issuecomment-345387988
 
 
   Changed the fields numbers in clientProtocol.proto and removed the 
server_api.proto rename (it now has it's own PR).  Please take another look and 
push if satisfactory.


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


> Protobuf protocol requests includes a CallbackArgs field
> 
>
> Key: GEODE-3969
> URL: https://issues.apache.org/jira/browse/GEODE-3969
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: Brian Rowe
>
> We eventually want to support allowing clients to pass arguments to cache 
> listeners in their requests, but this functionality is not going to be 
> present in v1.  Having this field is therefore misleading and it should be 
> removed.



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


[jira] [Resolved] (GEODE-3982) MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance

2017-11-17 Thread Jason Huynh (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Huynh resolved GEODE-3982.

   Resolution: Fixed
Fix Version/s: 1.4.0

> MemoryIndexStoreIterator should not call GemFireCacheImpl.getInstance
> -
>
> Key: GEODE-3982
> URL: https://issues.apache.org/jira/browse/GEODE-3982
> Project: Geode
>  Issue Type: Bug
>  Components: querying
>Reporter: Jason Huynh
>Assignee: Jason Huynh
> Fix For: 1.4.0
>
>
> This call should be removed from the constructor and instead be passed in.  
> There is already a handle to the cache from the memory index store itself.  
> The current call can also lead to an NPE when the cache is closing and query 
> is executed.



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


[jira] [Commented] (GEODE-3007) Simplify support for custom GFSH commands

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3007:


Commit 2b21e2bd6a3ba7fbcd9a2d8e93ae2aef852689ad in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=2b21e2b ]

Revert "GEODE-3007: Simplify support for custom GFSH commands (#1042)" (#1072)

This reverts commit 0e5dd6ba45519463147337c8265db15e8f1840fc.

> Simplify support for custom GFSH commands
> -
>
> Key: GEODE-3007
> URL: https://issues.apache.org/jira/browse/GEODE-3007
> Project: Geode
>  Issue Type: Improvement
>  Components: docs, gfsh
>Reporter: Jared Stewart
>Assignee: Jared Stewart
>
> Geode currently supports three ways to load GFSH commands: 
> 1. Scan the classpath for commands in 
> "org.apache.geode.management.internal.cli.commands”
> 2. Scan the classpath for commands in a package specified by a user via the 
> “user-command-packages” system property. 
> 3. Scan the classpath for commands registered in files inside 
> META-INF.services (e.g. 
> "geode-core/src/test/resources/META-INF/services/org.springframework.shell.core.CommandMarker”)
>  
> After the improvements made by GEODE-2989, there is no reason to require a 
> user to specify the location of their custom commands via one of these 
> mechanisms.  Instead, we should simply scan the entire classpath for any 
> classes implementing CommandMarker (regardless of whatever packages they live 
> in).  



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


[jira] [Commented] (GEODE-3007) Simplify support for custom GFSH commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

jdeppe-pivotal closed pull request #1072: Revert "GEODE-3007: Simplify support 
for custom GFSH commands (#1042)"
URL: https://github.com/apache/geode/pull/1072
 
 
   

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/geode-assembly/build.gradle b/geode-assembly/build.gradle
index 4615a6b08d..1f139a5ac9 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -198,12 +198,14 @@ def cp = {
 it.contains('snappy') ||
 it.contains('jgroups') ||
 it.contains('netty') ||
+
 // dependencies from geode-lucene
 it.contains('lucene-analyzers-common') ||
 it.contains('lucene-core') ||
 it.contains('lucene-queries') ||
 it.contains('lucene-queryparser') ||
 it.contains('lucene-analyzers-phonetic') ||
+
 // dependencies from geode-protobuf
 it.contains('protobuf-java')
   }
diff --git 
a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
 
b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
index 94ddc8f322..7e7b2bdca8 100644
--- 
a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
+++ 
b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/StatusLocatorRealGfshTest.java
@@ -30,6 +30,7 @@
   @Test
   public void statusLocatorSucceedsWhenConnected() throws Exception {
 GfshScript.of("start locator --name=locator1").execute(gfshRule);
+
 GfshScript.of("connect", "status locator 
--name=locator1").execute(gfshRule);
   }
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
index 4944e984bd..649bfad407 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/ConfigurationProperties.java
@@ -1860,10 +1860,7 @@
* Default: ""
* 
* Since: GemFire 8.0
-   *
-   * @deprecated Since Geode 1.4 (See GEODE-3007)
*/
-  @Deprecated()
   String USER_COMMAND_PACKAGES = "user-command-packages";
   /**
* The static String definition of the "off-heap-memory-size" 
property  sourceMap =
   Collections.synchronizedMap(new HashMap());
 
+  protected String userCommandPackages = DEFAULT_USER_COMMAND_PACKAGES;
+
   /**
* "off-heap-memory-size" with value of "" or "[g|m]"
*/
@@ -757,6 +759,7 @@ public DistributionConfigImpl(DistributionConfig other) {
 this.redisPort = other.getRedisPort();
 this.redisBindAddress = other.getRedisBindAddress();
 this.redisPassword = other.getRedisPassword();
+this.userCommandPackages = other.getUserCommandPackages();
 
 // following added for 8.0
 this.enableSharedConfiguration = other.getEnableClusterConfiguration();
@@ -1831,6 +1834,10 @@ public int getAsyncMaxQueueSize() {
 return this.asyncMaxQueueSize;
   }
 
+  public String getUserCommandPackages() {
+return this.userCommandPackages;
+  }
+
   public int getHttpServicePort() {
 return this.httpServicePort;
   }
@@ -1855,6 +1862,10 @@ public void setStartDevRestApi(boolean value) {
 this.startDevRestApi = value;
   }
 
+  public void setUserCommandPackages(String value) {
+this.userCommandPackages = value;
+  }
+
   public boolean getDeltaPropagation() {
 return this.deltaPropagation;
   }
@@ -3002,8 +3013,9 @@ public boolean equals(final Object o) {
 .append(sslTrustStore, that.sslTrustStore)
 .append(sslTrustStorePassword, that.sslTrustStorePassword)
 .append(locatorSSLAlias, that.locatorSSLAlias).append(sslDefaultAlias, 
that.sslDefaultAlias)
-.append(sourceMap, that.sourceMap).append(offHeapMemorySize, 
that.offHeapMemorySize)
-.append(shiroInit, that.shiroInit).isEquals();
+.append(sourceMap, that.sourceMap).append(userCommandPackages, 
that.userCommandPackages)
+.append(offHeapMemorySize, that.offHeapMemorySize).append(shiroInit, 
that.shiroInit)
+.isEquals();
   }
 
   /**
@@ -3071,8 +3083,9 @@ public int hashCode() {
 
.append(sslCiphers).append(sslRequireAuthentication).append(sslKeyStore)
 
.append(sslKeyStoreType).append(sslKeyStorePassword).append(sslTrustStore)
 
.append(sslTrustStorePassword).append(sslWebServiceRequireAuthentication)
-
.appe

[jira] [Created] (GEODE-3997) CI Failure: EvictionObjectSizerDUnitTest.getSizeOfCustomizedData

2017-11-17 Thread Anilkumar Gingade (JIRA)
Anilkumar Gingade created GEODE-3997:


 Summary: CI Failure: 
EvictionObjectSizerDUnitTest.getSizeOfCustomizedData
 Key: GEODE-3997
 URL: https://issues.apache.org/jira/browse/GEODE-3997
 Project: Geode
  Issue Type: Bug
  Components: eviction
Reporter: Anilkumar Gingade


org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest > 
testObjectSizerForHeapLRU_CustomizedSizerObject FAILED
java.lang.NullPointerException
at 
org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest.getSizeOfCustomizedData(EvictionObjectSizerDUnitTest.java:345)
at 
org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest.testObjectSizerForHeapLRU_CustomizedSizerObject(EvictionObjectSizerDUnitTest.java:198)




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


[jira] [Resolved] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread Swapnil Bawaskar (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapnil Bawaskar resolved GEODE-1897.
-
   Resolution: Fixed
Fix Version/s: 1.4.0

> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Jens Deppe
> Fix For: 1.4.0
>
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100m
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=destroy
> {noformat}



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


[jira] [Updated] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread Swapnil Bawaskar (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapnil Bawaskar updated GEODE-1897:

Description: 
While creating a region in gfsh, users should be able to configure eviction for 
that region.

All three modes of eviction should be supported:
1. Eviction driven by the resource manager:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
{noformat}
2. eviction driven by entry count in the region:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-entry-count=1000
{noformat}
3. eviction driven by bytes used:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
(value in megabytes)
{noformat}

And also specify the eviction action as
{noformat}
--eviction-action=overflow-to-disk or
--eviction-action=local-destroy
{noformat}

  was:
While creating a region in gfsh, users should be able to configure eviction for 
that region.

All three modes of eviction should be supported:
1. Eviction driven by the resource manager:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
{noformat}
2. eviction driven by entry count in the region:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-entry-count=1000
{noformat}
3. eviction driven by bytes used:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100m
{noformat}

And also specify the eviction action as
{noformat}
--eviction-action=overflow-to-disk or
--eviction-action=destroy
{noformat}


> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Jens Deppe
> Fix For: 1.4.0
>
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
> (value in megabytes)
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=local-destroy
> {noformat}



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


[jira] [Created] (GEODE-3998) Evaluate Cache name

2017-11-17 Thread Jacob S. Barrett (JIRA)
Jacob S. Barrett created GEODE-3998:
---

 Summary: Evaluate Cache name
 Key: GEODE-3998
 URL: https://issues.apache.org/jira/browse/GEODE-3998
 Project: Geode
  Issue Type: Task
  Components: native client
Reporter: Jacob S. Barrett


After the removal of globals the CacheFactory::create() method does't take a 
name and creates all Cache's with DEFAULT_CACHE_NAME. Do we need a Cache name 
anymore?



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


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

PurelyApplied commented on issue #1065: GEODE-3539: Add missing test coverage 
to 'list disk-stores' and …
URL: https://github.com/apache/geode/pull/1065#issuecomment-345398498
 
 
   Rebased and updated per requests, precheckin running.


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


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



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


[jira] [Updated] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread Swapnil Bawaskar (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapnil Bawaskar updated GEODE-1897:

Description: 
While creating a region in gfsh, users should be able to configure eviction for 
that region.

All three modes of eviction should be supported:
1. Eviction driven by the resource manager:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
{noformat}
2. eviction driven by entry count in the region:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-entry-count=1000
{noformat}
3. eviction driven by bytes used:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
(value in megabytes)
{noformat}

And also specify the eviction action as
{noformat}
--eviction-action=overflow-to-disk or
--eviction-action=local-destroy
{noformat}
and an object sizer, so that users can plug-in custom object sizes as
{noformat}
--eviction-object-sizer=my.company.geode.MySizer
{noformat}
the sizer should only apply to heap and memory based eviction.

  was:
While creating a region in gfsh, users should be able to configure eviction for 
that region.

All three modes of eviction should be supported:
1. Eviction driven by the resource manager:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
{noformat}
2. eviction driven by entry count in the region:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-entry-count=1000
{noformat}
3. eviction driven by bytes used:
{noformat}
gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
(value in megabytes)
{noformat}

And also specify the eviction action as
{noformat}
--eviction-action=overflow-to-disk or
--eviction-action=local-destroy
{noformat}


> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Jens Deppe
> Fix For: 1.4.0
>
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
> (value in megabytes)
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=local-destroy
> {noformat}
> and an object sizer, so that users can plug-in custom object sizes as
> {noformat}
> --eviction-object-sizer=my.company.geode.MySizer
> {noformat}
> the sizer should only apply to heap and memory based eviction.



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


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

PurelyApplied commented on issue #1052: GEODE-3539: Add missing test coverage 
for 'list regions' and 'describe region' commands
URL: https://github.com/apache/geode/pull/1052#issuecomment-345399727
 
 
   Rebased and updated per requests, precheckin running.
   
   Changes to `GfshCommandRule` and `HeadlessGfsh` copied directly from PR 
#1065.  Verify that no strange conflict exists before rebasing / merging.


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


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



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


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-17 Thread ASF GitHub Bot (JIRA)

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

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

PurelyApplied closed pull request #1024: GEODE-3539: Restore test coverage for 
'describe connection' command.
URL: https://github.com/apache/geode/pull/1024
 
 
   

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/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConnectionCommandJUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConnectionCommandJUnitTest.java
new file mode 100644
index 00..7db73af5c9
--- /dev/null
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeConnectionCommandJUnitTest.java
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+package org.apache.geode.management.internal.cli.commands;
+
+import org.apache.logging.log4j.Logger;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+import org.apache.geode.test.junit.rules.GfshCommandRule;
+import org.apache.geode.test.junit.rules.GfshCommandRule.PortType;
+import org.apache.geode.test.junit.rules.LocatorStarterRule;
+
+/**
+ * The GfshCommandJUnitTest class is a test suite of test cases testing the 
contract and
+ * functionality of the GfshCommand class for implementing GemFire shell 
(Gfsh) commands.
+ *
+ * @see org.apache.geode.management.internal.cli.commands.GfshCommand
+ * @see org.jmock.Expectations
+ * @see org.jmock.Mockery
+ * @see org.jmock.lib.legacy.ClassImposteriser
+ * @see org.junit.Assert
+ * @see org.junit.Test
+ * @since GemFire 7.0
+ */
+
+@Category(IntegrationTest.class)
+public class DescribeConnectionCommandJUnitTest {
+  public static Logger logger = LogService.getLogger();
+
+  @ClassRule
+  public static LocatorStarterRule locator = new 
LocatorStarterRule().withAutoStart();
+
+  @Rule
+  public GfshCommandRule gfsh = new GfshCommandRule();
+
+  @Test
+  public void describeConnectionTest() throws Exception {
+gfsh.connectAndVerify(locator.getJmxPort(), PortType.jmxManager);
+gfsh.executeAndAssertThat("describe 
connection").tableHasColumnWithValuesContaining(
+"Connection Endpoints", 
gfsh.getGfsh().getOperationInvoker().toString());
+  }
+
+  @Test
+  public void executeWhileNotConnected() throws Exception {
+gfsh.executeAndAssertThat("describe connection")
+.tableHasColumnWithValuesContaining("Connection Endpoints", "Not 
connected");
+  }
+
+}


 


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


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



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


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-17 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on GEODE-3539:


Commit cd0b65aa0d476037000b3f24da359e0111529fe4 in geode's branch 
refs/heads/develop from [~prhomberg]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=cd0b65a ]

GEODE-3539: Restore and correct test coverage for 'describe connection' command.



> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



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


[jira] [Assigned] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread Swapnil Bawaskar (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapnil Bawaskar reassigned GEODE-1897:
---

Assignee: Karen Smoler Miller  (was: Jens Deppe)

> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Karen Smoler Miller
> Fix For: 1.4.0
>
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
> (value in megabytes)
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=local-destroy
> {noformat}
> and an object sizer, so that users can plug-in custom object sizes as
> {noformat}
> --eviction-object-sizer=my.company.geode.MySizer
> {noformat}
> the sizer should only apply to heap and memory based eviction.



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


[jira] [Reopened] (GEODE-1897) Users should be able to configure eviction through gfsh

2017-11-17 Thread Swapnil Bawaskar (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Swapnil Bawaskar reopened GEODE-1897:
-

> Users should be able to configure eviction through gfsh
> ---
>
> Key: GEODE-1897
> URL: https://issues.apache.org/jira/browse/GEODE-1897
> Project: Geode
>  Issue Type: Sub-task
>  Components: docs, gfsh
>Reporter: Swapnil Bawaskar
>Assignee: Karen Smoler Miller
> Fix For: 1.4.0
>
>
> While creating a region in gfsh, users should be able to configure eviction 
> for that region.
> All three modes of eviction should be supported:
> 1. Eviction driven by the resource manager:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-enabled
> {noformat}
> 2. eviction driven by entry count in the region:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE 
> --eviction-entry-count=1000
> {noformat}
> 3. eviction driven by bytes used:
> {noformat}
> gfsh>create region --name=myRegion --type=REPLICATE --eviction-max-memory=100
> (value in megabytes)
> {noformat}
> And also specify the eviction action as
> {noformat}
> --eviction-action=overflow-to-disk or
> --eviction-action=local-destroy
> {noformat}
> and an object sizer, so that users can plug-in custom object sizes as
> {noformat}
> --eviction-object-sizer=my.company.geode.MySizer
> {noformat}
> the sizer should only apply to heap and memory based eviction.



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


[jira] [Resolved] (GEODE-3997) CI Failure: EvictionObjectSizerDUnitTest.getSizeOfCustomizedData

2017-11-17 Thread Anilkumar Gingade (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anilkumar Gingade resolved GEODE-3997.
--
Resolution: Invalid

Closing this ticket as the test run was not clean...

> CI Failure: EvictionObjectSizerDUnitTest.getSizeOfCustomizedData
> 
>
> Key: GEODE-3997
> URL: https://issues.apache.org/jira/browse/GEODE-3997
> Project: Geode
>  Issue Type: Bug
>  Components: eviction
>Reporter: Anilkumar Gingade
>
> org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest > 
> testObjectSizerForHeapLRU_CustomizedSizerObject FAILED
> java.lang.NullPointerException
> at 
> org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest.getSizeOfCustomizedData(EvictionObjectSizerDUnitTest.java:345)
> at 
> org.apache.geode.internal.cache.EvictionObjectSizerDUnitTest.testObjectSizerForHeapLRU_CustomizedSizerObject(EvictionObjectSizerDUnitTest.java:198)



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