[ 
https://issues.apache.org/jira/browse/GEODE-2145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955527#comment-15955527
 ] 
Avinash Dongre commented on GEODE-2145:
---------------------------------------

I tried to reproduce this issue with following test, But I could not reproduce .

{code}
public class BugGeode2145DUnitTest extends LocatorTestBase {
  public BugGeode2145DUnitTest() {
    super();
  }

  @Override
  public final void postSetUp() throws Exception {
    disconnectAllFromDS();
  }

  @Override
  protected final void postTearDownLocatorTestBase() throws Exception {
    disconnectAllFromDS();
  }

  @Test
  public void testOqlWithEntrySet() {
    Host host = Host.getHost(0);
    VM locator = host.getVM(0);
    VM server1 = host.getVM(1);
    VM client = host.getVM(3);

    final int locatorPort = 
AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
    final String locatorHost = NetworkUtils.getServerHostName(host);
    locator.invoke("Start Locator", () -> startLocator(locatorHost, 
locatorPort, ""));

    String locString = getLocatorString(host, locatorPort);
    server1.invoke("Start BridgeServer",
        () -> startBridgeServer(locString));

    client.invoke("create region and insert, query with entrySet", () -> {
      ClientCacheFactory ccf = new ClientCacheFactory();
      ccf.addPoolLocator(locatorHost, locatorPort);
      ClientCache cache = ccf.create();

      Region region = 
cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).create(REGION_NAME);

      for (int i = 0; i < 10; i++) {
        region.put(i, i * 100);
      }
      SelectResults results = (SelectResults) cache.getQueryService()
          .newQuery("select * from /" + REGION_NAME + ".entrySet").execute();
      assertEquals(10, results.asList().size());

      ClientCacheFactory.getAnyInstance().close();
    });
    server1.invoke("Stopping BridgeServer", () -> stopBridgeServer());
  }

  private void startBridgeServer(final String locString) throws IOException {
    Properties props = new Properties();
    props.setProperty(MCAST_PORT, "0");
    props.setProperty(LOCATORS, locString);
    DistributedSystem ds = getSystem(props);
    Cache cache = CacheFactory.create(ds);
    CacheServer server = cache.addCacheServer();
    server.setPort(0);
    server.start();
    cache.createRegionFactory(RegionShortcut.PARTITION).create(REGION_NAME);
  }

  private void stopBridgeServer() {
    CacheFactory.getAnyInstance().close();
  }
}
{code}



> A valid query in GFSH appears not to work from Java
> ---------------------------------------------------
>
>                 Key: GEODE-2145
>                 URL: https://issues.apache.org/jira/browse/GEODE-2145
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Jared Stewart
>
> The following query works from gfsh:
> {code}
> gfsh> query --query="select * from /RegionA.entrySet"
> {code}
> but appears not work from a Java client:
> {code}
> Object result = queryService.newQuery("select * from 
> /RegionA.entrySet").execute();
> {code}
> resulting in this error:
> {code}
> Exception in thread "main" 
> org.apache.geode.cache.client.ServerOperationException: remote server on 
> pdx2-office-dhcp4(48651:loner):60244:8a112bad: 
> org.apache.geode.SerializationException: failed serializing object
>       at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:675)
>       at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:772)
>       at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.java:603)
>       at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:165)
>       at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:110)
>       at 
> org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:697)
>       at 
> org.apache.geode.cache.client.internal.QueryOp.execute(QueryOp.java:59)
>       at 
> org.apache.geode.cache.client.internal.ServerProxy.query(ServerProxy.java:65)
>       at 
> org.apache.geode.cache.query.internal.DefaultQuery.executeOnServer(DefaultQuery.java:440)
>       at 
> org.apache.geode.cache.query.internal.DefaultQuery.execute(DefaultQuery.java:316)
>       at 
> org.apache.geode.cache.query.internal.DefaultQuery.execute(DefaultQuery.java:298)
>       at com.jaredjstewart.ReadOnlyClient.main(ReadOnlyClient.java:58)
>       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:498)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
> Caused by: org.apache.geode.SerializationException: failed serializing object
>       at 
> org.apache.geode.internal.cache.tier.sockets.Message.serializeAndAddPart(Message.java:399)
>       at 
> org.apache.geode.internal.cache.tier.sockets.Message.addObjPart(Message.java:344)
>       at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommand.writeQueryResponseChunk(BaseCommand.java:720)
>       at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommandQuery.sendResultsAsObjectPartList(BaseCommandQuery.java:507)
>       at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommandQuery.processQueryUsingParams(BaseCommandQuery.java:228)
>       at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommandQuery.processQuery(BaseCommandQuery.java:65)
>       at 
> org.apache.geode.internal.cache.tier.sockets.command.Query.cmdExecute(Query.java:96)
>       at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:141)
>       at 
> org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:776)
>       at 
> org.apache.geode.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:904)
>       at 
> org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1160)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at 
> org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:519)
>       at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to