TIBCO ActiveMatrix(R) Adapter for Database version before 6.0 might crash if use aestring for int or bigint columns.

book

Article ID: KB0088023

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for Database -
Not Applicable -

Description

Resolution:
Description:
============
TIBCO ActiveMatrix(r) Adapter for Database crashed frequently with C++ exception while publishing message when the int or bigint columns are mapped to aestring.

Environment:
===========
adapter version: before 6.0
all platform including Windows and Unix
databases including SQLServer, DB2, Sybase, except Oracle

Symptoms:
========
ADB adapter would be running without issue for quite a long time, (it could be years if the column is ADB_SEQUENCE) and then suddenly began to crash frequently. The adapter might not crash on the same message each time.

Exceptions could be found in adapter logs like the following:
C++ : exception thrown in ADBPubCommunicationInterface::handleDataSendRequest()

Cause:
=====
If int or bigint columns are mapped to aestring, when the value exceeds 4 digits for int or 8 digits for bigint, the ADB Adapter will not allocate the correct size of memory to process these values which leads to frequent crashes.

Resolution:
=========
This issue has been fixed in TIBCO ActiveMatrix Adapter for ActiveDatabase 6.0 (CR#1-8XK2B3).

1).  Upgrade to 6.0 (most recommended).

2). Use r8/i8 instead (recommended).

3). If the type is int then change it to bigint. This would allow the adapter to accept more digits (from 4 to 8) but might still be in problem in the future when the digits exceed 8.

4). Reset the value if the problematic column is ADB_SEQUENCE. (this is less recommended).

Issue/Introduction

TIBCO ActiveMatrix(R) Adapter for Database version before 6.0 might crash if use aestring for int or bigint columns.