IncompatibleClassChangeError when building a TIBCO Streaming application in a different server version

IncompatibleClassChangeError when building a TIBCO Streaming application in a different server version

book

Article ID: KB0076046

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10

Description

To build the TIBCO Streaming application archive, command:
  mvn clean install
fails with errors:
[ERROR] [A.sb_processor] Component service loading failed
[ERROR] [A.sb_processor] java.lang.IncompatibleClassChangeError: Mismatch detected for type 
com.tibco.ep.sb.ads.internal.ArtifactTarget, version ''. Changed values: Number of operations 
changed, current count 34, new count 33.

[ERROR] Failed to execute goal com.tibco.ep:ep-maven-plugin:1.4.0:test-eventflow-fragment 
(default-test-eventflow-fragment) on project sb_betconstruct_processor: launching junit test 
cases failed failed: node sb_processor error code 1 -> [Help 1]

Issue/Introduction

Unify the development, build, test, and production environments on a single version of TIBCO Streaming

Resolution

Before the error, we see this difference in versions in the command output:
[INFO] [dtm] INFO: Deploy tool version: [TIBCO Distributed Transactional Memory Platform 10.4.0 (build 1811012150)] 
starting at [Thu Mar 07 15:12:26 WET 2019]
[INFO] [dtm] INFO: Node version: [TIBCO StreamBase Runtime 10.4.1 (build 1901180000)]

This reports that a project developed in TIBCO Streaming version 10.4.1 was attempted to be built and deployed using version 10.4.0 of the platform. There are three problems leading to this result:

1. There are multiple versions of the TIBCO Streaming platform in the development process chain. Only one version of TIBCO Streaming should be used for development and deployment. When upgrading a project to a new version, that new version should be used exclusively when developing in Studio and for application deployment. Studio includes a wizard to upgrade a project from an earlier version to Studio's version.

2. The build version (10.4.0) is earlier than the development version (10.4.1). The build version should be the same or later. We generally support running a pre-built application archive on later server versions except where deprecated features are used. We cannot support building a project with a different (or earlier) server version than that of the Studio version used to develop the project.

3. There are two different versions of TIBCO Streaming available in the command environment in which the application is being built. In all cases, only one version of TIBCO Streaming should be represented on the PATH and in related environment variables.

In all cases, unify the development, build, test, and production environments on a single version of TIBCO Streaming. Already built application archives may be run on later TIBCO StreamBase server versions (apart from use of deprecated features), but these old projects must be upgraded and re-built in the newer version if changes are made which require re-building.