Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-2452

Implement cluster-aware caching on KNS System Parameters

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Configuration
    • Labels:
      None
    • Similar issues:
      KULRICE-3006Implement Parameter caching in the ParameterProxyService
      KULRICE-2315Implement caching of data to the IdentityManagementService implementation
      KULRICE-3007Implement caching in the RiceApplicationConfigurationMediationServiceImpl
      KULRICE-2216KULUSER KNS system user is hardcoded
      KULRICE-3400Test clustered caching
      KULRICE-8327Implement caching for Message Service
      KULRICE-5319Implement caching on remote soap services
      KULRICE-2385Implement caching on the IdentityManagementService - Phase 2
      KULRICE-5997Parameter cache keys need to be changed
      KULRICE-7258Implement caching on ExtensionRepositoryService
    • Rice Module:
      KNS

      Description

      Currently the KNS System Parameters Service does not implement any caching. We need to evaluate this and if desired implement cluster-aware caching this.

      This service is in KualiConfigurationService

        Issue Links

          Activity

          Hide
          Ailish Byrne added a comment -

          there is caching implemented in the kfs parameter service that david elyea is extracting into rice.

          Show
          Ailish Byrne added a comment - there is caching implemented in the kfs parameter service that david elyea is extracting into rice.
          Hide
          Eric Westfall added a comment -

          Great! So the idea would then be to use the ParameterService instead of the KualiConfigurationService directly?

          Is the cache cluster safe?

          Show
          Eric Westfall added a comment - Great! So the idea would then be to use the ParameterService instead of the KualiConfigurationService directly? Is the cache cluster safe?
          Hide
          Ailish Byrne added a comment -

          yeah - it's just a thread local cache - if you need something fancier, you could modify. and, yes, i would like to see the parameter related methods on the config services moved to the parm service / removed and just leave it with responsibility for config properties

          Show
          Ailish Byrne added a comment - yeah - it's just a thread local cache - if you need something fancier, you could modify. and, yes, i would like to see the parameter related methods on the config services moved to the parm service / removed and just leave it with responsibility for config properties
          Hide
          Eric Westfall added a comment -

          There may be issues that come out of this as a result of performance testing. Raising the priority to critical in that case. I know that KEW uses some system parameters (what use to be app constants) in pretty critical code but the thread local cache might satisfy.

          Show
          Eric Westfall added a comment - There may be issues that come out of this as a result of performance testing. Raising the priority to critical in that case. I know that KEW uses some system parameters (what use to be app constants) in pretty critical code but the thread local cache might satisfy.
          Hide
          Eric Westfall added a comment -

          Added peter as a watcher in case he notices any issues here during load testing.

          Show
          Eric Westfall added a comment - Added peter as a watcher in case he notices any issues here during load testing.
          Hide
          Eric Westfall added a comment -

          Reducing priority of this to major. Depending on what we find with load testing we may need to do this.

          Show
          Eric Westfall added a comment - Reducing priority of this to major. Depending on what we find with load testing we may need to do this.
          Hide
          Eric Westfall added a comment -

          After looking at this closer with Jeremy, i think we have an issue here for the following reasons:

          1) It doesn't look like clearCache is ever called on the parameter service
          2) Even if it did get called, that clear message would need to go to all machines in the cluster that are caching system parameters, so the current implementation is not cluster-safe

          Jeremy, can you verify if my observations are accurate? If so, we need to go ahead and implement this.

          Additionally, internal to Rice we need to make sure we are fetching everything using the ParameterService and not the KualiConfigurationService (which we may be doing with the things that were converted from ApplicationConstants). Thanks!

          Show
          Eric Westfall added a comment - After looking at this closer with Jeremy, i think we have an issue here for the following reasons: 1) It doesn't look like clearCache is ever called on the parameter service 2) Even if it did get called, that clear message would need to go to all machines in the cluster that are caching system parameters, so the current implementation is not cluster-safe Jeremy, can you verify if my observations are accurate? If so, we need to go ahead and implement this. Additionally, internal to Rice we need to make sure we are fetching everything using the ParameterService and not the KualiConfigurationService (which we may be doing with the things that were converted from ApplicationConstants). Thanks!
          Hide
          Eric Westfall added a comment -

          Bulk change of all Rice 1.0 issues to closed after public release.

          Show
          Eric Westfall added a comment - Bulk change of all Rice 1.0 issues to closed after public release.

            People

            • Assignee:
              Jeremy Hanson
              Reporter:
              Jeremy Hanson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 1 day
                1d
                Remaining:
                Remaining Estimate - 1 day
                1d
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel