IBM Support

RS02719: CANNOT DROP A BRANCH, SQLSERVEREXCEPTION: THE DELETE STATEMENT CONFLICTED WITH THE REFERENCE CONSTRAINT "FKDEFINITION_ENDV"

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With SQL Server database:
    Create a new sub-branch b1.
    Add a new rule R in b1.
    Update definition of this new rule.
    Merge b1 with the main branch.
    Try to delete b1 sub-branch ==> get the following exception.
    [3/29/17 15:50:46:730 EDT] 000000aa IlrSQLInvocat 3   WITH
    BRCHTREE1_CHILDREN (ID, parent, CONTAINER) AS (SELECT dbo.
    Baseline.ID, dbo.Baseline.parent, dbo.Baseline.CONTAINER FROM
    dbo.Baseline WHERE dbo.Baseline.ID IN (459) UNION ALL SELECT
    dbo.Baseline.ID, dbo.Baseline.parent, dbo.Baseline.CONTAINER
    FROM dbo.Baseline, BRCHTREE1_CHILDREN WHERE dbo.Baseline.
    CONTAINER = BRCHTREE1_CHILDREN.CONTAINER AND dbo.Baseline.
    parent = BRCHTREE1_CHILDREN.ID) DELETE FROM dbo.VERSION WHERE
    dbo.VERSION.baseline IN (SELECT dbo.Baseline.ID FROM dbo.
    Baseline WHERE dbo.Baseline.ID IN (SELECT BRCHTREE1_CHILDREN.ID
    FROM BRCHTREE1_CHILDREN))
        Error: com.microsoft.sqlserver.jdbc.SQLServerException: The
    DELETE statement conflicted with the REFERENCE constraint
    "FKDefinition_ENDV". The conflict occurred in database
    "DecisionCenter", table "dbo.Definition", column 'ENDID'.
        at com.microsoft.sqlserver.jdbc.SQLServerException.
    makeFromDatabaseError(SQLServerException.java:216)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.
    getNextResult(SQLServerStatement.java:1515)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.
    doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$
    PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.
    java:5696)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.
    executeCommand(SQLServerConnection.java:1715)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.
    executeCommand(SQLServerStatement.java:180)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.
    executeStatement(SQLServerStatement.java:155)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.
    executeUpdate(SQLServerPreparedStatement.java:314)
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.
    pmiExecuteUpdate(WSJdbcPreparedStatement.java:1187)
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.
    executeUpdate(WSJdbcPreparedStatement.java:804)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
    NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at ilog.rules.teamserver.transaction.logger.
    IlrStatementInvocationHandler.executeStatement(
    IlrStatementInvocationHandler.java:59)
        at ilog.rules.teamserver.transaction.logger.
    IlrPreparedStatementInvocationHandler.invoke(
    IlrPreparedStatementInvocationHandler.java:32)
        at com.sun.proxy.$Proxy62.executeUpdate(Unknown Source)
        at ilog.rules.teamserver.ejb.service.dao.util.
    IlrHandleEraseBaselineContent.eraseClassFromBaseline(
    IlrHandleEraseBaselineContent.java:86)
        at ilog.rules.teamserver.ejb.service.dao.util.
    IlrHandleEraseBaselineContent.eraseVersionFromBaseline(
    IlrHandleEraseBaselineContent.java:159)
        at ilog.rules.teamserver.ejb.service.IlrEraseBaseline.
    eraseBaselineContent(IlrEraseBaseline.java:106)
        at ilog.rules.teamserver.ejb.service.IlrSessionFacadeImpl.
    deleteBaselineElements(IlrSessionFacadeImpl.java:2957)
        at ilog.rules.teamserver.ejb.service.IlrSessionFacadeImpl.
    deleteBaselineInternal(IlrSessionFacadeImpl.java:2930)
        at ilog.rules.teamserver.ejb.service.IlrSessionFacadeImpl.
    deleteBaseline(IlrSessionFacadeImpl.java:2905)
        at ilog.rules.teamserver.ejb.service.IlrSessionFacadeImpl.
    deleteBaselines(IlrSessionFacadeImpl.java:2885)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
    NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at ilog.rules.teamserver.transaction.
    IlrTransactionalInvocationHandler.invoke(
    IlrTransactionalInvocationHandler.java:64)
        at com.sun.proxy.$Proxy58.deleteBaselines(Unknown Source)
        at ilog.rules.teamserver.model.impl.IlrAbstractSession.
    deleteBaselines(IlrAbstractSession.java:1924)
        at ilog.rules.teamserver.model.impl.
    IlrAbstractCachingSession.deleteBaselines(
    IlrAbstractCachingSession.java:204)
        at ilog.rules.teamserver.web.beans.ManageReleasesBean.
    deleteBaselines(ManageReleasesBean.java:416)
        at ilog.rules.teamserver.web.beans.ManageReleasesBean.run(
    ManageReleasesBean.java:383)
        at ilog.rules.teamserver.web.beans.SelectionBean.
    asynchAction(SelectionBean.java:535)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
    NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(
    MethodBindingImpl.java:132)
        at org.apache.myfaces.application.ActionListenerImpl.
    processAction(ActionListenerImpl.java:61)
        at javax.faces.component.UICommand.broadcast(UICommand.java:
    109)
        at javax.faces.component.UIViewRoot._broadcastForPhase(
    UIViewRoot.java:97)
        at javax.faces.component.UIViewRoot.processApplication(
    UIViewRoot.java:171)
        at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.
    execute(InvokeApplicationExecutor.java:32)
        at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(
    LifecycleImpl.java:95)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(
    LifecycleImpl.java:70)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.
    java:139)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(
    ServletWrapper.java:1230)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.
    handleRequest(ServletWrapper.java:779)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.
    handleRequest(ServletWrapper.java:478)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.
    handleRequest(ServletWrapperImpl.java:178)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    invokeTarget(WebAppFilterChain.java:136)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    doFilter(WebAppFilterChain.java:97)
        at ilog.rules.teamserver.web.security.
    SecurityCheckPointFilter.doFilter(SecurityCheckPointFilter.java:
    112)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.
    doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    doFilter(WebAppFilterChain.java:91)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrAccessFilter.doFilter(IlrAccessFilter.java:198)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.
    doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    doFilter(WebAppFilterChain.java:91)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrRemoteSessionFilter.doFilterInternal(IlrRemoteSessionFilter.
    java:88)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrRemoteSessionFilter.doFilter(IlrRemoteSessionFilter.java:66)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter.access$001(IlrSessionFilter.java:32)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter$1.doFilter(IlrSessionFilter.java:62)
        at org.springframework.web.filter.RequestContextFilter.
    doFilterInternal(RequestContextFilter.java:99)
        at org.springframework.web.filter.OncePerRequestFilter.
    doFilter(OncePerRequestFilter.java:106)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrSessionFilter.doFilter(IlrSessionFilter.java:60)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.
    doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    doFilter(WebAppFilterChain.java:91)
        at ilog.rules.teamserver.web.servlets.filter.
    IlrFileUploadFilter.doFilter(IlrFileUploadFilter.java:45)
        at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.
    doFilter(FilterInstanceWrapper.java:195)
        at com.ibm.ws.webcontainer.filter.WebAppFilterChain.
    doFilter(WebAppFilterChain.java:91)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.
    doFilter(WebAppFilterManager.java:964)
        at com.ibm.ws.webcontainer.filter.WebAppFilterManager.
    invokeFilters(WebAppFilterManager.java:1104)
        at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(
    WebApp.java:3901)
        at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(
    WebGroup.java:304)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(
    WebContainer.java:981)
        at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(
    WSWebContainer.java:1662)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(
    WCChannelLink.java:200)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    handleDiscrimination(HttpInboundLink.java:463)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    handleNewRequest(HttpInboundLink.java:530)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    processRequest(HttpInboundLink.java:316)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.
    ready(HttpInboundLink.java:287)
        at com.ibm.ws.tcp.channel.impl.
    NewConnectionInitialReadCallback.sendToDiscriminators(
    NewConnectionInitialReadCallback.java:214)
        at com.ibm.ws.tcp.channel.impl.
    NewConnectionInitialReadCallback.complete(
    NewConnectionInitialReadCallback.java:113)
        at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.
    futureCompleted(AioReadCompletionListener.java:175)
        at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(
    AbstractAsyncFuture.java:217)
        at com.ibm.io.async.AsyncChannelFuture.
    fireCompletionActions(AsyncChannelFuture.java:161)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:
    138)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.
    java:204)
        at com.ibm.io.async.ResultHandler.runEventProcessingLoop(
    ResultHandler.java:775)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:
    905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:
    1865)
    

Local fix

Problem summary

  • Multiple elements created in different branches may have the
    same internal reference merge or deleting those element leads
    to conflict. The reference must be update when the action
    occurs.
    

Problem conclusion

  • The code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS02719

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    871

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-05

  • Closed date

    2017-04-25

  • Last modified date

    2017-04-25

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

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

Modules/Macros

  • 999
    

Fix information

  • Fixed component name

    WS DECISION CTR

  • Fixed component ID

    5725B6900

Applicable component levels

  • R881 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":"8.7.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
11 January 2022