IBM Support

RS03575: MERGE BRANCHES BUTTON UNRESPONSIVE WHENEVER THE USER DOES NOT HAVE ACCESS TO A DECISION SERVICE WITH LINKED PROJECTS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The "Merge Branches" button in the Business Console is
    unresponsive whenever the Project Security prevents the current
    user from accessing a Decision Service that contains some
    linked projects.
    This problem only happens in ODM 8.10.3.
    The
    log contains the following exception:
    
    [2/28/20 14:29:36:277
    CET] 0000069e com.ibm.rules.decisioncenter.exception E
    null
    java.lang.NullPointerException
     at com.ibm.rules.decisionce
    nter.web.core.merge.MergeController.getBranches(MergeController.
    java:162)
     at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
     at sun.reflect.DelegatingMethodAccessorImpl.invok
    e(DelegatingMethodAccessorImpl.java:55)
     at
    java.lang.reflect.Method.invoke(Method.java:508)
     at org.springf
    ramework.web.method.support.InvocableHandlerMethod.doInvoke(Invo
    cableHandlerMethod.java:209)
     at org.springframework.web.method.
    support.InvocableHandlerMethod.invokeForRequest(InvocableHandler
    Method.java:136)
     at org.springframework.web.servlet.mvc.method.
    annotation.ServletInvocableHandlerMethod.invokeAndHandle(Servlet
    InvocableHandlerMethod.java:102)
     at org.springframework.web.ser
    vlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHa
    ndlerMethod(RequestMappingHandlerAdapter.java:891)
     at org.sprin
    gframework.web.servlet.mvc.method.annotation.RequestMappingHandl
    
    erAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
    
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMet
    hodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
     at org.
    springframework.web.servlet.DispatcherServlet.doDispatch(Dispatc
    herServlet.java:991)
     at org.springframework.web.servlet.Dispatc
    herServlet.doService(DispatcherServlet.java:925)
     at org.springf
    ramework.web.servlet.FrameworkServlet.processRequest(FrameworkSe
    rvlet.java:981)
     at org.springframework.web.servlet.FrameworkSer
    vlet.doGet(FrameworkServlet.java:873)
     at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    
    at org.springframework.web.servlet.FrameworkServlet.service(Fram
    eworkServlet.java:858)
     at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servle
    tWrapper.java:1230)
     at com.ibm.ws.webcontainer.servlet.ServletW
    rapper.handleRequest(ServletWrapper.java:729)
     at com.ibm.ws.web
    container.servlet.ServletWrapper.handleRequest(ServletWrapper.ja
    va:426)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.inv
    okeTarget(WebAppFilterChain.java:182)
     at com.ibm.ws.webcontaine
    r.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
    
    at com.ibm.rules.decisioncenter.web.core.filters.SecurityCheckPo
    intFilter.doFilter(SecurityCheckPointFilter.java:108)
     at com.ib
    m.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterIn
    stanceWrapper.java:201)
     at com.ibm.ws.webcontainer.filter.WebAp
    pFilterChain.doFilter(WebAppFilterChain.java:90)
     at com.ibm.rul
    es.decisioncenter.web.core.filters.RemoteSessionFilter.doFilterI
    nternal(RemoteSessionFilter.java:79)
     at com.ibm.rules.decisionc
    enter.web.core.filters.RemoteSessionFilter.doFilter(RemoteSessio
    nFilter.java:59)
     at com.ibm.rules.decisioncenter.web.core.filte
    rs.SessionFilter.access$001(SessionFilter.java:33)
     at com.ibm.r
    ules.decisioncenter.web.core.filters.SessionFilter$1.doFilter(Se
    ssionFilter.java:69)
     at org.springframework.web.filter.RequestC
    ontextFilter.doFilterInternal(RequestContextFilter.java:99)
     at
    org.springframework.web.filter.OncePerRequestFilter.doFilter(Onc
    ePerRequestFilter.java:107)
     at com.ibm.rules.decisioncenter.web
    .core.filters.SessionFilter.doFilter(SessionFilter.java:66)
     at
    com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi
    lterInstanceWrapper.java:201)
     at com.ibm.ws.webcontainer.filter
    .WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
     at com.i
    bm.rules.decisioncenter.web.core.filters.HttpPUTRequestFilter.do
    FilterInternal(HttpPUTRequestFilter.java:96)
     at org.springframe
    work.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilt
    er.java:107)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWr
    apper.doFilter(FilterInstanceWrapper.java:201)
     at com.ibm.ws.we
    bcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.j
    ava:90)
     at org.springframework.boot.web.servlet.support.ErrorPa
    geFilter.doFilter(ErrorPageFilter.java:130)
     at org.springframew
    ork.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPag
    eFilter.java:66)
     at org.springframework.boot.web.servlet.suppor
    t.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105)
    
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(
    OncePerRequestFilter.java:107)
     at org.springframework.boot.web.
    servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:12
    3)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFi
    lter(FilterInstanceWrapper.java:201)
     at com.ibm.ws.webcontainer
    .filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:90)
    
    at org.springframework.web.filter.CharacterEncodingFilter.doFilt
    erInternal(CharacterEncodingFilter.java:200)
     at org.springframe
    work.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilt
    er.java:107)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWr
    apper.doFilter(FilterInstanceWrapper.java:201)
     at com.ibm.ws.we
    bcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.j
    ava:90)
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.d
    oFilter(WebAppFilterManager.java:993)
     at com.ibm.ws.webcontaine
    r.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.j
    ava:1131)
     at com.ibm.ws.webcontainer.webapp.WebApp.handleReques
    t(WebApp.java:4993)
     at com.ibm.ws.webcontainer.osgi.DynamicVirt
    ualHost$2.handleRequest(DynamicVirtualHost.java:314)
     at com.ibm
    .ws.webcontainer.WebContainer.handleRequest(WebContainer.java:10
    07)
     at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(Dy
    namicVirtualHost.java:279)
     at com.ibm.ws.http.dispatcher.intern
    al.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink
    .java:1136)
     at com.ibm.ws.http.dispatcher.internal.channel.Http
    DispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:417
    )
     at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcher
    Link.ready(HttpDispatcherLink.java:376)
     at com.ibm.ws.http.chan
    nel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpIn
    boundLink.java:547)
     at com.ibm.ws.http.channel.internal.inbound
    .HttpInboundLink.handleNewRequest(HttpInboundLink.java:481)
     at
    com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.process
    Request(HttpInboundLink.java:346)
     at com.ibm.ws.http.channel.in
    ternal.inbound.HttpICLReadCallback.complete(HttpICLReadCallback.
    java:70)
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager.req
    uestComplete(WorkQueueManager.java:503)
     at com.ibm.ws.tcpchanne
    l.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:573)
    
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(W
    orkQueueManager.java:954)
     at com.ibm.ws.tcpchannel.internal.Wor
    kQueueManager$Worker.run(WorkQueueManager.java:1043)
     at com.ibm
    .ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(E
    xecutorServiceImpl.java:239)
     at java.util.concurrent.ThreadPool
    Executor.runWorker(ThreadPoolExecutor.java:1160)
     at java.util.c
    oncurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:
    635)
     at java.lang.Thread.run(Thread.java:818)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users performing a merge in the Business Console.            *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * The "Merge Branches" button in the Business Console is       *
    * unresponsive whenever the Project Security prevents the      *
    * current user from accessing a Decision Service that contains *
    * some linked projects.                                        *
    *                                                              *
    * [2/28/20 14:29:36:277 CET] 0000069e                          *
    * com.ibm.rules.decisioncenter.exception                       *
    * E null                                                       *
    * java.lang.NullPointerException                               *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.merge.MergeController. *
    * getBranches(MergeController.java:162)                        *
    *     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native   *
    * Method)                                                      *
    *     at                                                       *
    * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce *
    * ssorImpl.java:90)                                            *
    *     at                                                       *
    * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe *
    * thodAccessorImpl.java:55)                                    *
    *     at java.lang.reflect.Method.invoke(Method.java:508)      *
    *     at                                                       *
    * org.springframework.web.method.support.InvocableHandlerMetho *
    * d.doInvoke(InvocableHandlerMethod.java:209)                  *
    *     at                                                       *
    * org.springframework.web.method.support.InvocableHandlerMetho *
    * d.invokeForRequest(InvocableHandlerMethod.java:136)          *
    *     at                                                       *
    * org.springframework.web.servlet.mvc.method.annotation.Servle *
    * tInvocableHandlerMethod.invokeAndHandle(ServletInvocableHand *
    * lerMethod.java:102)                                          *
    *     at                                                       *
    * org.springframework.web.servlet.mvc.method.annotation.Reques *
    * tMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHan *
    * dlerAdapter.java:891)                                        *
    *     at                                                       *
    * org.springframework.web.servlet.mvc.method.annotation.Reques *
    * tMappingHandlerAdapter.handleInternal(RequestMappingHandlerA *
    * dapter.java:797)                                             *
    *     at                                                       *
    * org.springframework.web.servlet.mvc.method.AbstractHandlerMe *
    * thodAdapter.handle(AbstractHandlerMethodAdapter.java:87)     *
    *     at                                                       *
    * org.springframework.web.servlet.DispatcherServlet.doDispatch *
    * (DispatcherServlet.java:991)                                 *
    *     at                                                       *
    * org.springframework.web.servlet.DispatcherServlet.doService( *
    * DispatcherServlet.java:925)                                  *
    *     at                                                       *
    * org.springframework.web.servlet.FrameworkServlet.processRequ *
    * est(FrameworkServlet.java:981)                               *
    *     at                                                       *
    * org.springframework.web.servlet.FrameworkServlet.doGet(Frame *
    * workServlet.java:873)                                        *
    *     at                                                       *
    * javax.servlet.http.HttpServlet.service(HttpServlet.java:687) *
    *     at                                                       *
    * org.springframework.web.servlet.FrameworkServlet.service(Fra *
    * meworkServlet.java:858)                                      *
    *     at                                                       *
    * javax.servlet.http.HttpServlet.service(HttpServlet.java:790) *
    *     at                                                       *
    * com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl *
    * etWrapper.java:1230)                                         *
    *     at                                                       *
    * com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest *
    * (ServletWrapper.java:729)                                    *
    *     at                                                       *
    * com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest *
    * (ServletWrapper.java:426)                                    *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarge *
    * t(WebAppFilterChain.java:182)                                *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:93)                                     *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.SecurityCheckP *
    * ointFilter.doFilter(SecurityCheckPointFilter.java:108)       *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte *
    * r(FilterInstanceWrapper.java:201)                            *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:90)                                     *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.RemoteSessionF *
    * ilter.doFilterInternal(RemoteSessionFilter.java:79)          *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.RemoteSessionF *
    * ilter.doFilter(RemoteSessionFilter.java:59)                  *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.SessionFilter. *
    * access$001(SessionFilter.java:33)                            *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.SessionFilter$ *
    * 1.doFilter(SessionFilter.java:69)                            *
    *     at                                                       *
    * org.springframework.web.filter.RequestContextFilter.doFilter *
    * Internal(RequestContextFilter.java:99)                       *
    *     at                                                       *
    * org.springframework.web.filter.OncePerRequestFilter.doFilter *
    * (OncePerRequestFilter.java:107)                              *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.SessionFilter. *
    * doFilter(SessionFilter.java:66)                              *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte *
    * r(FilterInstanceWrapper.java:201)                            *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:90)                                     *
    *     at                                                       *
    * com.ibm.rules.decisioncenter.web.core.filters.HttpPUTRequest *
    * Filter.doFilterInternal(HttpPUTRequestFilter.java:96)        *
    *     at                                                       *
    * org.springframework.web.filter.OncePerRequestFilter.doFilter *
    * (OncePerRequestFilter.java:107)                              *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte *
    * r(FilterInstanceWrapper.java:201)                            *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:90)                                     *
    *     at                                                       *
    * org.springframework.boot.web.servlet.support.ErrorPageFilter *
    * .doFilter(ErrorPageFilter.java:130)                          *
    *     at                                                       *
    * org.springframework.boot.web.servlet.support.ErrorPageFilter *
    * .access$000(ErrorPageFilter.java:66)                         *
    *     at                                                       *
    * org.springframework.boot.web.servlet.support.ErrorPageFilter *
    * $1.doFilterInternal(ErrorPageFilter.java:105)                *
    *     at                                                       *
    * org.springframework.web.filter.OncePerRequestFilter.doFilter *
    * (OncePerRequestFilter.java:107)                              *
    *     at                                                       *
    * org.springframework.boot.web.servlet.support.ErrorPageFilter *
    * .doFilter(ErrorPageFilter.java:123)                          *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte *
    * r(FilterInstanceWrapper.java:201)                            *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:90)                                     *
    *     at                                                       *
    * org.springframework.web.filter.CharacterEncodingFilter.doFil *
    * terInternal(CharacterEncodingFilter.java:200)                *
    *     at                                                       *
    * org.springframework.web.filter.OncePerRequestFilter.doFilter *
    * (OncePerRequestFilter.java:107)                              *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte *
    * r(FilterInstanceWrapper.java:201)                            *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We *
    * bAppFilterChain.java:90)                                     *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter( *
    * WebAppFilterManager.java:993)                                *
    *     at                                                       *
    * com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFil *
    * ters(WebAppFilterManager.java:1131)                          *
    *     at                                                       *
    * com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.j *
    * ava:4993)                                                    *
    *     at                                                       *
    * com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequ *
    * est(DynamicVirtualHost.java:314)                             *
    *     at                                                       *
    * com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContai *
    * ner.java:1007)                                               *
    *     at                                                       *
    * com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(Dynami *
    * cVirtualHost.java:279)                                       *
    *     at                                                       *
    * com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLi *
    * nk$TaskWrapper.run(HttpDispatcherLink.java:1136)             *
    *     at                                                       *
    * com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLi *
    * nk.wrapHandlerAndExecute(HttpDispatcherLink.java:417)        *
    *     at                                                       *
    * com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLi *
    * nk.ready(HttpDispatcherLink.java:376)                        *
    *     at                                                       *
    * com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.han *
    * dleDiscrimination(HttpInboundLink.java:547)                  *
    *     at                                                       *
    * com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.han *
    * dleNewRequest(HttpInboundLink.java:481)                      *
    *     at                                                       *
    * com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.pro *
    * cessRequest(HttpInboundLink.java:346)                        *
    *     at                                                       *
    * com.ibm.ws.http.channel.internal.inbound.HttpICLReadCallback *
    * .complete(HttpICLReadCallback.java:70)                       *
    *     at                                                       *
    * com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestCompl *
    * ete(WorkQueueManager.java:503)                               *
    *     at                                                       *
    * com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(Wo *
    * rkQueueManager.java:573)                                     *
    *     at                                                       *
    * com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(Wo *
    * rkQueueManager.java:954)                                     *
    *     at                                                       *
    * com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(W *
    * orkQueueManager.java:1043)                                   *
    *     at                                                       *
    * com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWr *
    * apper.run(ExecutorServiceImpl.java:239)                      *
    *     at                                                       *
    * java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool *
    * Executor.java:1160)                                          *
    *     at                                                       *
    * java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo *
    * lExecutor.java:635)                                          *
    *     at java.lang.Thread.run(Thread.java:818)                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • We let the user merge only the project he has right on and leave
    untouched the one he has no right.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03575

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    8A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-02-28

  • Closed date

    2020-03-17

  • Last modified date

    2020-03-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WS DECISION CTR

  • Fixed component ID

    5725B6900

Applicable component levels

  • R8A0 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8A0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 November 2021