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

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.