You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PolarisEntityCore type hierarchy is used to represent the persisted (or about to be persisted) state. Especially the already persisted state should be considered immutable. Instances of PolarisEntityCore are also cached via org.apache.polaris.core.persistence.cache.EntityCacheEntry#entity.
PolarisEntityCore + PolarisBaseEntity type hierarchy exposes public setters for effectively all properties. This makes it very easy to (accidentally?) modify entity instances that are cached or in any other way shared. Although the types have some "copy constructors", the risk of modifying attributes is still there. Even if a legit change to a property of a shared object would not be correct, given the Java memory model guarantees.
To Reproduce
No response
Actual Behavior
No response
Expected Behavior
No response
Additional context
No response
System information
No response
The text was updated successfully, but these errors were encountered:
Describe the bug
PolarisEntityCore
type hierarchy is used to represent the persisted (or about to be persisted) state. Especially the already persisted state should be considered immutable. Instances ofPolarisEntityCore
are also cached viaorg.apache.polaris.core.persistence.cache.EntityCacheEntry#entity
.PolarisEntityCore
+PolarisBaseEntity
type hierarchy exposes public setters for effectively all properties. This makes it very easy to (accidentally?) modify entity instances that are cached or in any other way shared. Although the types have some "copy constructors", the risk of modifying attributes is still there. Even if a legit change to a property of a shared object would not be correct, given the Java memory model guarantees.To Reproduce
No response
Actual Behavior
No response
Expected Behavior
No response
Additional context
No response
System information
No response
The text was updated successfully, but these errors were encountered: