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)