Bug 778131 (SOA-642)

Summary: Confusing error message with misconfigured SQL listener - and an SLQ notifier on the same DB table
Product: [JBoss] JBoss Enterprise SOA Platform 4 Reporter: Len DiMaggio <ldimaggi>
Component: JBossESBAssignee: Mark Little <mark.little>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.2 CP02   
Target Milestone: ---   
Target Release: 4.3 CR1   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-642
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
CP02
Last Closed: 2008-10-15 20:24:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 778401    
Attachments:
Description Flags
notifications.tar none

Description Len DiMaggio 2008-07-29 03:56:18 UTC
project_key: SOA

I'm seeing an odd warning message (see below) if the message-id-column from an SQL notifier is inadvertently omitted from a corresponding SqlTableGatewayListener.

  If I setup a listener with these settings:

<sql-bus busid="notifiedSQLChannel">
   <sql-message-filter tablename="NOTIFICATIONS_TABLE"
       status-column="STATUS_COL"
       message-id-column="UNIQUE_ID"
       message-column="MESSAGECONTENTS"
       insert-timestamp-column="FAKE_TS_COLUMN" />
</sql-bus>

  And then setup a notifier, with these settings, but omit the message-id-column:

<action name="SQLNotificationTest"
   class="org.jboss.soa.esb.actions.Notifier">
   <property name="okMethod" value="notifyOK" />
   <property name="notification-details">
       <NotificationList type="OK">
           <target class="NotifySqlTable"
               driver-class="@DB_DRIVER@" connection-url="@DB_URL@"
               user-name="@DB_USERNAME@" password="@DB_PASSWORD@"
               table="NOTIFICATIONS_TABLE" dataColumn="MESSAGECONTENTS">
               <column name="STATUS_COL" value="P" />
               <column name="UNIQUE_ID" value="1234" />      ------> If this is omitted,
           </target>                                                the warning listed below is logged
       </NotificationList>
   </property>
</action>

This warning is logged:

22:01:36,965 WARN  [SqlTableGatewayListener] Cannot change row state from Pending to Working.  Number of rows in state Pending = 0
22:01:47,052 WARN  [SqlTableGatewayListener] Cannot change row state from Pending to Working.  Number of rows in state Pending = 0
22:01:57,055 WARN  [SqlTableGatewayListener] Cannot change row state from Pending to Working.  Number of rows in state Pending = 0
22:02:07,059 WARN  [SqlTableGatewayListener] Cannot change row state from Pending to Working.  Number of rows in state Pending = 0
22:02:17,063 WARN  [SqlTableGatewayListener] Cannot change row state from Pending to Working.  Number of rows in state Pending = 0

  It's a broken configuration - but a pretty confusing error message. 

See attached standalone test - modified version of CP02 notification Quickstart.

Comment 1 Len DiMaggio 2008-07-29 03:56:37 UTC
Attachment: Added: notifications.tar


Comment 2 Len DiMaggio 2008-07-29 03:57:47 UTC
Link: Added: This issue is a dependency of JBESB-1887


Comment 3 Mark Little 2008-09-27 21:18:53 UTC
Link: Added: This issue is a dependency of SOA-885


Comment 4 Len DiMaggio 2008-10-15 20:24:48 UTC
Verified in CR1