Cache Miss Using Thin Client

classic Classic list List threaded Threaded
4 messages Options
keensimo keensimo
Reply | Threaded
Open this post in threaded view
|

Cache Miss Using Thin Client

Hello, 

I have one Spring Boot app running as a client node which uses SpringCacheManager + @Cacheable annotation on a service call. This is demonstrating expected read-through behaviour. 

I have a second app where I'm trying to implement the same behaviour using the thin-client. This is able to successfully "get" entries put in the cache through this application but not those using the application above, even if the key appears to be the same. 

Both applications are using a key class from the same dependency and are obviously populated with the same attributes. I've used the "query" method on the cache to retrieve all the cache entries, have verified they're using the same server node, the entries are there and so on. 

Any ideas why the "get" method from thin-client cannot find entries "put" by the client node? Or, any suggestions on appropriate logging to assist diagnosis?

Thanks, 

Simon.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.

Stanislav Lukyanov Stanislav Lukyanov
Reply | Threaded
Open this post in threaded view
|

Re: Cache Miss Using Thin Client

Hi,

I'm thinking this could be related to differences in the binary marshaller configuration.
Are you using Java thin client? What version? What is the cache key type? Are you setting a BinaryConfiguration explicitly on the client or server?

Thanks,
Stan

On Fri, Aug 23, 2019 at 3:38 PM <[hidden email]> wrote:

Hello, 

I have one Spring Boot app running as a client node which uses SpringCacheManager + @Cacheable annotation on a service call. This is demonstrating expected read-through behaviour. 

I have a second app where I'm trying to implement the same behaviour using the thin-client. This is able to successfully "get" entries put in the cache through this application but not those using the application above, even if the key appears to be the same. 

Both applications are using a key class from the same dependency and are obviously populated with the same attributes. I've used the "query" method on the cache to retrieve all the cache entries, have verified they're using the same server node, the entries are there and so on. 

Any ideas why the "get" method from thin-client cannot find entries "put" by the client node? Or, any suggestions on appropriate logging to assist diagnosis?

Thanks, 

Simon.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.

keensimo keensimo
Reply | Threaded
Open this post in threaded view
|

RE: Cache Miss Using Thin Client

Hi Stan,

 

Yes, the second app I referred to is using Java thing client. My Ignite version is 2.7.5, for all apps in question.

 

The cache key type is one of our domain objects which has just three String variables; I don’t think there’s anything unusual about it. I’m not explicitly setting any BinaryConfiguration.

 

Regards,

 

Simon.

 

From: Stanislav Lukyanov <[hidden email]>
Sent: Friday, August 23, 2019 6:18 PM
To: [hidden email]
Subject: Re: Cache Miss Using Thin Client

 

This message originated from outside our organisation and is from web based email - [hidden email]

Hi,

 

I'm thinking this could be related to differences in the binary marshaller configuration.

Are you using Java thin client? What version? What is the cache key type? Are you setting a BinaryConfiguration explicitly on the client or server?

 

Thanks,

Stan

 

On Fri, Aug 23, 2019 at 3:38 PM <[hidden email]> wrote:

Hello,

I have one Spring Boot app running as a client node which uses SpringCacheManager + @Cacheable annotation on a service call. This is demonstrating expected read-through behaviour.

I have a second app where I'm trying to implement the same behaviour using the thin-client. This is able to successfully "get" entries put in the cache through this application but not those using the application above, even if the key appears to be the same.

Both applications are using a key class from the same dependency and are obviously populated with the same attributes. I've used the "query" method on the cache to retrieve all the cache entries, have verified they're using the same server node, the entries are there and so on.

Any ideas why the "get" method from thin-client cannot find entries "put" by the client node? Or, any suggestions on appropriate logging to assist diagnosis?

Thanks,

Simon.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.

Alex Plehanov Alex Plehanov
Reply | Threaded
Open this post in threaded view
|

Re: Cache Miss Using Thin Client

Hello,

Most probably the reason is different default values of compactFooter property of BinaryConfiguration for thin client and server (false for client, true for server).
Here is a ticket: [1]
You can work around this by setting BinaryConfiguration including this property explicitly.


вт, 27 авг. 2019 г. в 13:02, <[hidden email]>:

Hi Stan,

 

Yes, the second app I referred to is using Java thing client. My Ignite version is 2.7.5, for all apps in question.

 

The cache key type is one of our domain objects which has just three String variables; I don’t think there’s anything unusual about it. I’m not explicitly setting any BinaryConfiguration.

 

Regards,

 

Simon.

 

From: Stanislav Lukyanov <[hidden email]>
Sent: Friday, August 23, 2019 6:18 PM
To: [hidden email]
Subject: Re: Cache Miss Using Thin Client

 

This message originated from outside our organisation and is from web based email - [hidden email]

Hi,

 

I'm thinking this could be related to differences in the binary marshaller configuration.

Are you using Java thin client? What version? What is the cache key type? Are you setting a BinaryConfiguration explicitly on the client or server?

 

Thanks,

Stan

 

On Fri, Aug 23, 2019 at 3:38 PM <[hidden email]> wrote:

Hello,

I have one Spring Boot app running as a client node which uses SpringCacheManager + @Cacheable annotation on a service call. This is demonstrating expected read-through behaviour.

I have a second app where I'm trying to implement the same behaviour using the thin-client. This is able to successfully "get" entries put in the cache through this application but not those using the application above, even if the key appears to be the same.

Both applications are using a key class from the same dependency and are obviously populated with the same attributes. I've used the "query" method on the cache to retrieve all the cache entries, have verified they're using the same server node, the entries are there and so on.

Any ideas why the "get" method from thin-client cannot find entries "put" by the client node? Or, any suggestions on appropriate logging to assist diagnosis?

Thanks,

Simon.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.

This e-mail and any attachments are confidential and intended solely for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this e-mail in error, please notify the sender immediately, delete it from your system and do not copy, disclose or otherwise act upon any part of this e-mail or its attachments.

Internet communications are not guaranteed to be secure or virus-free. The Barclays Group does not accept responsibility for any loss arising from unauthorised access to, or interference with, any Internet communications by any third party, or from the transmission of any viruses. Replies to this e-mail may be monitored by the Barclays Group for operational or business reasons.

Any opinion or other information in this e-mail or its attachments that does not relate to the business of the Barclays Group is personal to the sender and is not given or endorsed by the Barclays Group.

Barclays Execution Services Limited provides support and administrative services across Barclays group. Barclays Execution Services Limited is an appointed representative of Barclays Bank UK plc, Barclays Bank plc and Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank plc are authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale Financial Services Limited is authorised and regulated by the Financial Conduct Authority.