ClementC (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *created* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiYjkxZDRiYzA0...
) / Bug (
https://hibernate.atlassian.net/browse/HHH-16385?atlOrigin=eyJpIjoiYjkxZD...
) HHH-16385 (
https://hibernate.atlassian.net/browse/HHH-16385?atlOrigin=eyJpIjoiYjkxZD...
) QueryKey not serializable when working with @TenantId (
https://hibernate.atlassian.net/browse/HHH-16385?atlOrigin=eyJpIjoiYjkxZD...
)
Issue Type: Bug Affects Versions: 6.1.7, 6.2.0.CR4 Assignee: Unassigned Created:
28/Mar/2023 05:00 AM Priority: Critical Reporter: ClementC (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
When using @TenantId to perform multitenancy, org.hibernate.cache.spi.QueryKey instances
becomes non-serializable, preventing query caching.
This is because of the Set<String> enabledFilterNames field, that is returned by
org.hibernate.engine.spi.LoadQueryInfluencers#getEnabledFilterNames :
* When enalbedFilters is empty, it returns Collections.emptySet() , which is serializable
* But when multitenancy is enabled, the TenantIdBinder.FILTER_NAME filter is enabled (
https://github.com/hibernate/hibernate-orm/blame/6.2/hibernate-core/src/m...
) , and getEnabledFilterNames return a Collections.unmodifiableSet(
enabledFilters.keySet() ) => the keySet of the HashMap<String,Filter>
enabledFilters is not serializable, hence the result of getEnabledFilterNames not being
serializable
A copy of the filter keys should be performed to ensure serializability.
(
https://hibernate.atlassian.net/browse/HHH-16385#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-16385#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100219- sha1:6a6077b )