That should work ok if you still have the files, and the data hasn't been
recreated.
I ran this test:
1. Start server with persistent PDX and region
2. Load data into region
3. Query data (successful)
4. Stop servers
5. Move PDX persistence files (.crf, .drf, .krf, .if)
6. Restart servers
7. Query data (throws 'IllegalStateException: Unknown pdx type=7699560')
8. Stop servers
9. Replace PDX persistence files (remove the ones created for the restart)
10. Restart servers
11. Query data (successful)
How are you defining your pdx and data region? Do they have their own disk
stores?
I'm doing this:
<disk-store name="pdx_store" max-oplog-size="10">
<disk-dirs>
<disk-dir>.</disk-dir>
</disk-dirs>
</disk-store>
<disk-store name="data_store" max-oplog-size="10">
<disk-dirs>
<disk-dir>.</disk-dir>
</disk-dirs>
</disk-store>
<pdx read-serialized="true" persistent="true" disk-store-name="pdx_store">
<pdx-serializer>
...
</pdx-serializer>
</pdx>
<region name="data" refid="PARTITION_REDUNDANT_PERSISTENT">
<region-attributes disk-store-name="data_store"/>
</region>
In my case, the PDX persistence files are:
BACKUPpdx_store_1.crf
BACKUPpdx_store_1.drf
BACKUPpdx_store_1.krf
BACKUPpdx_store.if
If you don't specify a disk-store-name in the pdx element, the DEFAULT disk
store is used like:
BACKUPDEFAULT_1.crf
BACKUPDEFAULT_1.drf
BACKUPDEFAULT_1.krf
BACKUPDEFAULT.if
Thanks,
Barry Oglesby
On Wed, Jan 30, 2019 at 3:26 AM aashish choudhary <
[email protected]> wrote:
> Thanks Dan for explanation. So if we replace the files with old one(It
> has anyways created new files after restart) which were their earlier
> will it resolve the issue?. Not sure how to recover from this State.
>
> With best regards,
> Ashish
>
> On Wed, Jan 30, 2019, 2:31 AM Dan Smith <[email protected] wrote:
>
>> Yes, your PDX metadata is stored in a disk store if you have persistence
>> enabled fro PDX. The default disk store files are stored in the working
>> directory of each server, with names like .crf, .drf, .if. So if you moved
>> those files, you potentially moved all of the PDX metadata, and that
>> explain why your client can't lookup the PDX type.
>>
>> -Dan
>>
>> On Tue, Jan 29, 2019 at 9:31 AM aashish choudhary <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> We have been getting below exception while running queries on Pulse.
>>> There is link available with possible cause and resolution for this issue.
>>> We have tried the steps as mentioned on the official article. But it's not
>>> helping.
>>>
>>> Exception while running query on pulse.
>>> IllegalStateException: Unknown PDX Type on Client Side
>>>
>>>
>>> https://community.pivotal.io/s/article/IllegalStateException-Unknown-PDX-Type-on-Client-Side
>>>
>>> We have verified that our pdx persistence is enabled on all the members
>>> so it should have not have happened in that case. One observation that i
>>> could make is that while debugging issue someone moved the filed named as
>>> .drf or .crf something like that and restarted the cluster. I believe these
>>> files are used to persistence so could this be the main problem in our
>>> case?. Also when the disk-store is default where pdx metadata is stored?
>>> Which file holds pdx metadata. I think this problem should be same for
>>> other main clients applications as well .i.e java client. Will confirm on
>>> this.
>>>
>>> Any help or inputs would be appreciated.
>>>
>>> With Best Regards,
>>> Ashish
>>>
>>