TransactionManager problems

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

TransactionManager problems

matteor

Hello,

I have a Karaf-based application using JPA and something quite strange started happening after upgrading to Karaf 4.2.6. 

The Karaf bootup process terminates and our application runs OK (in particular, it can successfully interoperate with the underlying Postgres database). Nevertheless, the following error condition is reported by the karaf diag command:

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

resulting in the following state (bundle list)

113 │ Waiting │  80 │ 1.1.1              │ Apache Aries Transaction Blueprint
114 │ Active  │  80 │ 2.2.0              │ Apache Aries Transaction Blueprint
...
290 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-api
291 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-geronimo

On the other hand the TransactionManager service is there:

karaf@root()> service:list TransactionManager
[javax.transaction.TransactionManager, javax.transaction.TransactionSynchronizationRegistry, javax.transaction.UserTransaction, org.apache.geronimo.transaction.manager.RecoverableTransactionManager]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 service.bundleid = 291
 service.id = 352
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)
Used by:
 OpenJPA Aggregate Jar (213)
 Contoso :: Persistence Provider (57)
 Contoso :: OAuth :: Storage Provider (40)
 Contoso :: Users :: Storage :: Users provider (324)
 Contoso :: Device Management :: Store :: Provider (71)
 OPS4J Pax JDBC Pooling DBCP2 (289)
 Contoso :: Security :: X.509 :: Store :: Provider (314)
 Apache Aries Transaction Blueprint (113)
 Apache Aries JPA support (110)

[org.ops4j.pax.transx.tm.TransactionManager]
--------------------------------------------
 service.bundleid = 291
 service.id = 395
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

The strange thing is that if I do

karaf@root()> stop 113
karaf@root()> start 113

The error disappear:

karaf@root()> diag
karaf@root()>

Any ideas on what it could be happening here?

Thanks,
Matteo

Reply | Threaded
Open this post in threaded view
|

Re: TransactionManager problems

jbonofre
Hi,

do you install the bundles directly or via feature ?

If you install bundle per bundle, if you don't have the right order, you
have to perform a refresh.

Regards
JB

On 18/07/2019 17:54, Matteo Rulli wrote:

>
> Hello,
>
> I have a Karaf-based application using JPA and something quite strange
> started happening after upgrading to Karaf 4.2.6. 
>
> The Karaf bootup process terminates and our application runs OK (in
> particular, it can successfully interoperate with the underlying
> Postgres database). Nevertheless, the following error condition is
> reported by the karaf diag command:
>
> karaf@root()> diag
> Apache Aries Transaction Blueprint (113)
> ----------------------------------------
> Status: Waiting
> Blueprint
> 7/18/19 5:24 PM
> Missing dependencies:
> (objectClass=javax.transaction.TransactionManager)
> Declarative Services
>
> resulting in the following state (bundle list)
>
> 113 │ Waiting │  80 │ 1.1.1              │ Apache Aries Transaction
> Blueprint
> 114 │ Active  │  80 │ 2.2.0              │ Apache Aries Transaction
> Blueprint
> ...
> 290 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-api
> 291 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-geronimo
>
> On the other hand the TransactionManager service is there:
>
> karaf@root()> service:list TransactionManager
> [javax.transaction.TransactionManager,
> javax.transaction.TransactionSynchronizationRegistry,
> javax.transaction.UserTransaction,
> org.apache.geronimo.transaction.manager.RecoverableTransactionManager]
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>  service.bundleid = 291
>  service.id <http://service.id> = 352
>  service.scope = singleton
> Provided by :
>  pax-transx-tm-geronimo (291)
> Used by:
>  OpenJPA Aggregate Jar (213)
>  Contoso :: Persistence Provider (57)
>  Contoso :: OAuth :: Storage Provider (40)
>  Contoso :: Users :: Storage :: Users provider (324)
>  Contoso :: Device Management :: Store :: Provider (71)
>  OPS4J Pax JDBC Pooling DBCP2 (289)
>  Contoso :: Security :: X.509 :: Store :: Provider (314)
>  Apache Aries Transaction Blueprint (113)
>  Apache Aries JPA support (110)
>
> [org.ops4j.pax.transx.tm.TransactionManager]
> --------------------------------------------
>  service.bundleid = 291
>  service.id <http://service.id> = 395
>  service.scope = singleton
> Provided by :
>  pax-transx-tm-geronimo (291)
>
> karaf@root()> diag
> Apache Aries Transaction Blueprint (113)
> ----------------------------------------
> Status: Waiting
> Blueprint
> 7/18/19 5:24 PM
> Missing dependencies:
> (objectClass=javax.transaction.TransactionManager)
> Declarative Services
>
> The strange thing is that if I do
>
> karaf@root()> stop 113
> karaf@root()> start 113
>
> The error disappear:
>
> karaf@root()> diag
> karaf@root()>
>
> Any ideas on what it could be happening here?
>
> Thanks,
> Matteo
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: TransactionManager problems

matteor
Hi,

Everything is installed through Karaf features. The features are many (about 15) and three / four of them re-install JPA multiple times through the same steps: 

<capability>osgi.service;objectClass=javax.persistence.EntityManager</capability>

<feature>aries-blueprint</feature>

<feature>pax-jdbc-postgresql</feature>
<bundle>mvn:org.apache.xbean/xbean-asm6-shaded/4.10</bundle>

<feature>jndi</feature>
<feature>openjpa3</feature>
<feature>pax-jdbc-config</feature>
<feature>pax-jdbc</feature>
<feature>pax-jdbc-pool-dbcp2</feature>
<feature>jpa</feature>
<feature>transaction</feature>

This is unnecessary and I suspect it could be the root cause of the problem: I’m trying to refactor the features to only do the steps above once. What do you think?

Thank you,
Matteo
On 19 Jul 2019, at 06:25, Jean-Baptiste Onofré <[hidden email]> wrote:

Hi,

do you install the bundles directly or via feature ?

If you install bundle per bundle, if you don't have the right order, you
have to perform a refresh.

Regards
JB

On 18/07/2019 17:54, Matteo Rulli wrote:

Hello,

I have a Karaf-based application using JPA and something quite strange
started happening after upgrading to Karaf 4.2.6. 

The Karaf bootup process terminates and our application runs OK (in
particular, it can successfully interoperate with the underlying
Postgres database). Nevertheless, the following error condition is
reported by the karaf diag command:

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

resulting in the following state (bundle list)

113 │ Waiting │  80 │ 1.1.1              │ Apache Aries Transaction
Blueprint
114 │ Active  │  80 │ 2.2.0              │ Apache Aries Transaction
Blueprint
...
290 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-api
291 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-geronimo

On the other hand the TransactionManager service is there:

karaf@root()> service:list TransactionManager
[javax.transaction.TransactionManager,
javax.transaction.TransactionSynchronizationRegistry,
javax.transaction.UserTransaction,
org.apache.geronimo.transaction.manager.RecoverableTransactionManager]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 service.bundleid = 291
 service.id <http://service.id> = 352
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)
Used by:
 OpenJPA Aggregate Jar (213)
 Contoso :: Persistence Provider (57)
 Contoso :: OAuth :: Storage Provider (40)
 Contoso :: Users :: Storage :: Users provider (324)
 Contoso :: Device Management :: Store :: Provider (71)
 OPS4J Pax JDBC Pooling DBCP2 (289)
 Contoso :: Security :: X.509 :: Store :: Provider (314)
 Apache Aries Transaction Blueprint (113)
 Apache Aries JPA support (110)

[org.ops4j.pax.transx.tm.TransactionManager]
--------------------------------------------
 service.bundleid = 291
 service.id <http://service.id> = 395
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

The strange thing is that if I do

karaf@root()> stop 113
karaf@root()> start 113

The error disappear:

karaf@root()> diag
karaf@root()>

Any ideas on what it could be happening here?

Thanks,
Matteo


-- 
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply | Threaded
Open this post in threaded view
|

Re: TransactionManager problems

matteor
No luck, even restructuring the features to install JPA stuff only once didn’t help. The situation is still the same.

Logs tell nothing, they simply say "Lost DataSource" for all of them until I perform the stop and start of mvn:org.apache.aries.transaction/org.apache.aries.transaction.blueprint/1.1.1

Matteo

On 19 Jul 2019, at 18:27, Matteo Rulli <[hidden email]> wrote:

Hi,

Everything is installed through Karaf features. The features are many (about 15) and three / four of them re-install JPA multiple times through the same steps: 

<capability>osgi.service;objectClass=javax.persistence.EntityManager</capability>
<feature>aries-blueprint</feature>
<feature>pax-jdbc-postgresql</feature>
<bundle>mvn:org.apache.xbean/xbean-asm6-shaded/4.10</bundle>

<feature>jndi</feature>
<feature>openjpa3</feature>
<feature>pax-jdbc-config</feature>
<feature>pax-jdbc</feature>
<feature>pax-jdbc-pool-dbcp2</feature>
<feature>jpa</feature>
<feature>transaction</feature>

This is unnecessary and I suspect it could be the root cause of the problem: I’m trying to refactor the features to only do the steps above once. What do you think?

Thank you,
Matteo
On 19 Jul 2019, at 06:25, Jean-Baptiste Onofré <[hidden email]> wrote:

Hi,

do you install the bundles directly or via feature ?

If you install bundle per bundle, if you don't have the right order, you
have to perform a refresh.

Regards
JB

On 18/07/2019 17:54, Matteo Rulli wrote:

Hello,

I have a Karaf-based application using JPA and something quite strange
started happening after upgrading to Karaf 4.2.6. 

The Karaf bootup process terminates and our application runs OK (in
particular, it can successfully interoperate with the underlying
Postgres database). Nevertheless, the following error condition is
reported by the karaf diag command:

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

resulting in the following state (bundle list)

113 │ Waiting │  80 │ 1.1.1              │ Apache Aries Transaction
Blueprint
114 │ Active  │  80 │ 2.2.0              │ Apache Aries Transaction
Blueprint
...
290 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-api
291 │ Active  │  80 │ 0.4.3              │ pax-transx-tm-geronimo

On the other hand the TransactionManager service is there:

karaf@root()> service:list TransactionManager
[javax.transaction.TransactionManager,
javax.transaction.TransactionSynchronizationRegistry,
javax.transaction.UserTransaction,
org.apache.geronimo.transaction.manager.RecoverableTransactionManager]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 service.bundleid = 291
 service.id <http://service.id> = 352
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)
Used by:
 OpenJPA Aggregate Jar (213)
 Contoso :: Persistence Provider (57)
 Contoso :: OAuth :: Storage Provider (40)
 Contoso :: Users :: Storage :: Users provider (324)
 Contoso :: Device Management :: Store :: Provider (71)
 OPS4J Pax JDBC Pooling DBCP2 (289)
 Contoso :: Security :: X.509 :: Store :: Provider (314)
 Apache Aries Transaction Blueprint (113)
 Apache Aries JPA support (110)

[org.ops4j.pax.transx.tm.TransactionManager]
--------------------------------------------
 service.bundleid = 291
 service.id <http://service.id> = 395
 service.scope = singleton
Provided by :
 pax-transx-tm-geronimo (291)

karaf@root()> diag
Apache Aries Transaction Blueprint (113)
----------------------------------------
Status: Waiting
Blueprint
7/18/19 5:24 PM
Missing dependencies:
(objectClass=javax.transaction.TransactionManager)
Declarative Services

The strange thing is that if I do

karaf@root()> stop 113
karaf@root()> start 113

The error disappear:

karaf@root()> diag
karaf@root()>

Any ideas on what it could be happening here?

Thanks,
Matteo


-- 
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com