Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-1452

regex replace in subject source can cause issues if subject id has dollar sign

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.3.1, 2.4.0, 2.3.0.patch
    • subject API
    • None

    Description

      2017-01-03 10:08:53,182: [pool-2-thread-19] ERROR GrouperLoaderType.syncGroupLogicForOneGroup(1634) - - Error in job for group: umich.edu:groupsFromAttributes:StudentAA
      java.lang.RuntimeException: Problem with group: umich.edu:groupsFromAttributes:StudentAA
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncOneGroupMembership(GrouperLoaderType.java:2680)
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncGroupLogicForOneGroup(GrouperLoaderType.java:1624)
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.access$200(GrouperLoaderType.java:118)
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$11.callLogic(GrouperLoaderType.java:1542)
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType$11.callLogic(GrouperLoaderType.java:1538)
      at edu.internet2.middleware.grouper.util.GrouperCallable$1.callback(GrouperCallable.java:164)
      at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:974)
      at edu.internet2.middleware.grouper.util.GrouperCallable.callLogicWithSessionIfExists(GrouperCallable.java:161)
      at edu.internet2.middleware.grouper.util.GrouperCallable.call(GrouperCallable.java:132)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: Illegal group reference
      at java.util.regex.Matcher.appendReplacement(Matcher.java:857)
      at java.util.regex.Matcher.replaceAll(Matcher.java:955)
      at java.lang.String.replaceAll(String.java:2223)
      at edu.internet2.middleware.subject.provider.LdapSourceAdapter.getLdapResultsHelper(LdapSourceAdapter.java:716)
      at edu.internet2.middleware.subject.provider.LdapSourceAdapter.getLdapResults(LdapSourceAdapter.java:661)
      at edu.internet2.middleware.subject.provider.LdapSourceAdapter.getLdapUnique(LdapSourceAdapter.java:806)
      at edu.internet2.middleware.subject.provider.LdapSourceAdapter.getSubject(LdapSourceAdapter.java:374)
      at edu.internet2.middleware.subject.provider.BaseSourceAdapter.getSubjectsByIds(BaseSourceAdapter.java:217)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.findByIds(SourcesXmlResolver.java:1095)
      at edu.internet2.middleware.grouper.subj.CachingResolver.findByIds(CachingResolver.java:929)
      at edu.internet2.middleware.grouper.subj.ValidatingResolver.findByIds(ValidatingResolver.java:314)
      at edu.internet2.middleware.grouper.SubjectFinder.findByIds(SubjectFinder.java:1544)
      at edu.internet2.middleware.grouper.app.loader.db.GrouperLoaderResultset.bulkLookupSubjects(GrouperLoaderResultset.java:174)
      at edu.internet2.middleware.grouper.app.loader.GrouperLoaderType.syncOneGroupMembership(GrouperLoaderType.java:2470)
      ... 12 more

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Smart Checklist