1

I am trying to query Java in Gemfire. I am able to put the data and get the regions using Java API in Gemfire. But whenever I try to query my regions, I get InternalGemfireError.

I Start my Locators and Servers in GFSH

gfsh>start locator --name=locator --log-level=DEBUG
gfsh>configure pdx --read-serialized=true
gfsh>start server --name=server1 --log-level=DEBUG
create region --name=Account --type=PARTITION

I have created a client project using Java Api to put and fetch the data

Client.java

public static void main(String[] args) throws FunctionDomainException, TypeMismatchException, NameResolutionException, QueryInvocationTargetException {
        ClientCache cache = new ClientCacheFactory().set("cache-xml-file", "cacheClient.xml")
                .create();

        Region<Integer, Account> accountRegion = cache.getRegion("Account");
        List<Account> accounts = TestData.createAccountData();
        for(Account a : accounts) {
            accountRegion.put(a.getAccountNumber(), a);
        }
    }

cacheClient.xml

<?xml version="1.0" encoding="UTF-8"?>
<client-cache
    xmlns="http://schema.pivotal.io/gemfire/cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd"
    version="8.1">

    <pool name="mypool" subscription-enabled="true"> 
        <locator port="10334" host="192.168.2.4"/>
    </pool>

    <pdx read-serialized="true">
        <pdx-serializer>
            <class-name>com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer</class-name>
            <parameter name="classes">
                <string>gemfire.vo.*</string>
            </parameter>
            <parameter name="check-portability">
                <string>true</string>
            </parameter>
        </pdx-serializer>   
    </pdx>

    <region name="Account">
        <region-attributes refid="PROXY"/>
    </region>

</client-cache>

Account.java

public class Account {

    public Account() {
        // TODO Auto-generated constructor stub
    }

    private String name;
    private String openDate;
    private int accountNumber;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getOpenDate() {
        return openDate;
    }
    public void setOpenDate(String openDate) {
        this.openDate = openDate;
    }
    public int getAccountNumber() {
        return accountNumber;
    }
    public void setAccountNumber(int accountNumber) {
        this.accountNumber = accountNumber;
    }
    @Override
    public String toString() {
        return "Account [name=" + name + ", openDate=" + openDate
                + ", accountNumber=" + accountNumber + "]";
    }
    public Account(String name, String openDate, int accountNumber) {
        super();
        this.name = name;
        this.openDate = openDate;
        this.accountNumber = accountNumber;
    }

While Querying or gettingf data, I just write

accountRegion.query("Select * from /Account");

or

Account acc = accountRegion.get(1);

And it throws me the following exception

Exception in thread "main" com.gemstone.gemfire.InternalGemFireError
    at com.gemstone.gemfire.internal.Assert.throwError(Assert.java:84)
    at com.gemstone.gemfire.internal.Assert.assertTrue(Assert.java:48)
    at com.gemstone.gemfire.internal.InternalDataSerializer.readDataSerializable(InternalDataSerializer.java:2507)
    at com.gemstone.gemfire.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2921)
    at com.gemstone.gemfire.DataSerializer.readObject(DataSerializer.java:3210)
    at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:110)
    at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:77)
    at com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerHelper.deserialize(CacheServerHelper.java:55)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:233)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:238)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.processObjResponse(AbstractOp.java:280)
    at com.gemstone.gemfire.cache.client.internal.GetPDXTypeByIdOp$GetPDXTypeByIdOpImpl.processResponse(GetPDXTypeByIdOp.java:45)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:215)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:166)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:369)
    at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:270)
    at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:319)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:930)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:158)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:113)
    at com.gemstone.gemfire.cache.client.internal.PoolImpl.execute(PoolImpl.java:702)
    at com.gemstone.gemfire.cache.client.internal.GetPDXTypeByIdOp.execute(GetPDXTypeByIdOp.java:28)
    at com.gemstone.gemfire.pdx.internal.ClientTypeRegistration.getType(ClientTypeRegistration.java:107)
    at com.gemstone.gemfire.pdx.internal.TypeRegistry.getType(TypeRegistry.java:122)
    at com.gemstone.gemfire.internal.InternalDataSerializer.readPdxSerializable(InternalDataSerializer.java:3157)
    at com.gemstone.gemfire.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2979)
    at com.gemstone.gemfire.DataSerializer.readObject(DataSerializer.java:3210)
    at com.gemstone.gemfire.internal.cache.tier.sockets.ObjectPartList.fromData(ObjectPartList.java:238)
    at com.gemstone.gemfire.internal.InternalDataSerializer.invokeFromData(InternalDataSerializer.java:2480)
    at com.gemstone.gemfire.internal.DSFIDFactory.create(DSFIDFactory.java:1078)
    at com.gemstone.gemfire.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2797)
    at com.gemstone.gemfire.DataSerializer.readObject(DataSerializer.java:3210)
    at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:110)
    at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:77)
    at com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerHelper.deserialize(CacheServerHelper.java:55)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:233)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:238)
    at com.gemstone.gemfire.cache.client.internal.QueryOp$QueryOpImpl$1.handle(QueryOp.java:110)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.processChunkedResponse(AbstractOp.java:322)
    at com.gemstone.gemfire.cache.client.internal.QueryOp$QueryOpImpl.processResponse(QueryOp.java:165)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:215)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:153)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:369)
    at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:270)
    at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:319)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:930)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:158)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:113)
    at com.gemstone.gemfire.cache.client.internal.PoolImpl.execute(PoolImpl.java:702)
    at com.gemstone.gemfire.cache.client.internal.QueryOp.execute(QueryOp.java:51)
    at com.gemstone.gemfire.cache.client.internal.ServerProxy.query(ServerProxy.java:77)
    at com.gemstone.gemfire.internal.cache.LocalRegion.query(LocalRegion.java:11017)
    at gemfire.POC.Lab.main(Lab.java:34)
Arijit Dasgupta
  • 325
  • 3
  • 14

0 Answers0