Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36212

persisted configuration includes cache internals.

    Details

    • 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>
      

        Attachments

          Activity

          Hide
          batmat Baptiste Mathus added a comment -

          Fixed and released in 1.48

          Show
          batmat Baptiste Mathus added a comment - Fixed and released in 1.48
          Show
          batmat Baptiste Mathus added a comment - Fixed with https://github.com/jenkinsci/active-directory-plugin/commit/af4f0ec5c9f965e28289d5443e16d1dea3255668

            People

            • Assignee:
              fbelzunc FĂ©lix Belzunce Arcos
              Reporter:
              teilo James Nord
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: