Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Minor
-
Resolution: Fixed
-
Component/s: active-directory-plugin
-
Labels:None
-
Similar Issues:
Description
When you configure the AD plugin (1.47 ) with a cache the main jenkins config contains the internals of the cache implementation and not the spcific cache configuration.
The plugin should just persist the cache configuration (ttl/count) and recreate the caches on demand to prevent being tied to internal cache implementation/api changes.
config.xml
<securityRealm class="hudson.plugins.active_directory.ActiveDirectorySecurityRealm" plugin="active-directory@1.47"> <domain>internal.local</domain> <bindName>binduser</bindName> <bindPassword>somevalue</bindPassword> <server>someServer:3268</server> <groupLookupStrategy>RECURSIVE</groupLookupStrategy> <removeIrrelevantGroups>false</removeIrrelevantGroups> <cache> <size>256</size> <ttl>30</ttl> <userCache class="com.google.common.cache.LocalCache$LocalManualCache" resolves-to="com.google.common.cache.LocalCache$ManualSerializationProxy"> <keyStrength>STRONG</keyStrength> <valueStrength>STRONG</valueStrength> <keyEquivalence class="com.google.common.base.Equivalences$Equals"/> <valueEquivalence class="com.google.common.base.Equivalences$Equals" reference="../keyEquivalence"/> <expireAfterWriteNanos>30000000000</expireAfterWriteNanos> <expireAfterAccessNanos>0</expireAfterAccessNanos> <maxWeight>256</maxWeight> <weigher class="com.google.common.cache.CacheBuilder$OneWeigher">INSTANCE</weigher> <concurrencyLevel>4</concurrencyLevel> <removalListener class="com.google.common.cache.CacheBuilder$NullListener">INSTANCE</removalListener> </userCache> <groupCache class="com.google.common.cache.LocalCache$LocalManualCache" resolves-to="com.google.common.cache.LocalCache$ManualSerializationProxy"> <keyStrength>STRONG</keyStrength> <valueStrength>STRONG</valueStrength> <keyEquivalence class="com.google.common.base.Equivalences$Equals" reference="../../userCache/keyEquivalence"/> <valueEquivalence class="com.google.common.base.Equivalences$Equals" reference="../../userCache/keyEquivalence"/> <expireAfterWriteNanos>30000000000</expireAfterWriteNanos> <expireAfterAccessNanos>0</expireAfterAccessNanos> <maxWeight>256</maxWeight> <weigher class="com.google.common.cache.CacheBuilder$OneWeigher">INSTANCE</weigher> <concurrencyLevel>4</concurrencyLevel> <removalListener class="com.google.common.cache.CacheBuilder$NullListener">INSTANCE</removalListener> </groupCache> </cache> </securityRealm>
Fixed with https://github.com/jenkinsci/active-directory-plugin/commit/af4f0ec5c9f965e28289d5443e16d1dea3255668