DataIntegrityViolation [The transaction has been rolled back..

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

DataIntegrityViolation [The transaction has been rolled back..

Tech
Dear experts,

We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing but
changing the default database, from Postgres to MariaDB.

We compile and we start a brand new Syncope deployment with a new empty
database.

We are able to create users, but we every time we try to create a new
Type, we get an error "DataIntegrityViolation [The transaction has been
rolled back.." and we cannot add any other type.

Have you any idea why this could happen?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DataIntegrityViolation [The transaction has been rolled back..

Fabio Martelli
Hi, it seems we have a bug.
See the issue [1]; it will be solved ASAP.

Thank you for reporting.
Regards,
F.

[1] https://issues.apache.org/jira/browse/SYNCOPE-1065

Il 10/04/2017 12:35, Tech ha scritto:

> Dear experts,
>
> We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing
> but changing the default database, from Postgres to MariaDB.
>
> We compile and we start a brand new Syncope deployment with a new
> empty database.
>
> We are able to create users, but we every time we try to create a new
> Type, we get an error "DataIntegrityViolation [The transaction has
> been rolled back.." and we cannot add any other type.
>
> Have you any idea why this could happen?
>


--
Fabio Martelli
https://it.linkedin.com/pub/fabio-martelli/1/974/a44
http://blog.tirasa.net/author/fabio/index.html

Tirasa - Open Source Excellence
http://www.tirasa.net/

Apache Syncope PMC
http://people.apache.org/~fmartelli/

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DataIntegrityViolation [The transaction has been rolled back..

Fabio Martelli
Hi, it seems it was not a real bug. If you are on linux, pay attention
to the default character encoding "character-set-server": utf8mb4 is not
compatible with Apache Syncope >2.0.3.

BTW, I think your DataIntegrityViolation is not due to the problem above.
I've just been able to replicate your issue by using MariaDB 10.0 and
Java connector 1.5.9.
It seems that there are a sort of incompatibility that affect certain
insert statement.

I solved the problem by changing the java connector version: MariaDB
10.0 and JConnector 1.4.6 seem to work fine together.
Please, find your compatible versions, drop and recreate your db and
check it out again.

Best regards,
F.

Il 10/04/2017 16:50, Fabio Martelli ha scritto:

> Hi, it seems we have a bug.
> See the issue [1]; it will be solved ASAP.
>
> Thank you for reporting.
> Regards,
> F.
>
> [1] https://issues.apache.org/jira/browse/SYNCOPE-1065
>
> Il 10/04/2017 12:35, Tech ha scritto:
>> Dear experts,
>>
>> We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing
>> but changing the default database, from Postgres to MariaDB.
>>
>> We compile and we start a brand new Syncope deployment with a new
>> empty database.
>>
>> We are able to create users, but we every time we try to create a new
>> Type, we get an error "DataIntegrityViolation [The transaction has
>> been rolled back.." and we cannot add any other type.
>>
>> Have you any idea why this could happen?
>>
>
>


--
Fabio Martelli
https://it.linkedin.com/pub/fabio-martelli/1/974/a44
http://blog.tirasa.net/author/fabio/index.html

Tirasa - Open Source Excellence
http://www.tirasa.net/

Apache Syncope PMC
http://people.apache.org/~fmartelli/

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DataIntegrityViolation [The transaction has been rolled back..

Tech
Hello,

I guess that is finally a bug: this is related with the version of the
DB/JDBC connector used.

We entered into the logs and we saw that there are several errors for
"table not found": this is due to the fact that the tables are declared
in uppercase, while are stored in Lowercase into the database. Per
construction of some DB/JDBC, MariaDB distinguishes also the case
sensitivity of the tables names, so the tables are marked as "not found".

Just as an experiment, we changed by hand the table names and now looks
working.

Hope that helps and thanks for the support




On 11/04/17 15:37, Fabio Martelli wrote:

> Hi, it seems it was not a real bug. If you are on linux, pay attention
> to the default character encoding "character-set-server": utf8mb4 is
> not compatible with Apache Syncope >2.0.3.
>
> BTW, I think your DataIntegrityViolation is not due to the problem above.
> I've just been able to replicate your issue by using MariaDB 10.0 and
> Java connector 1.5.9.
> It seems that there are a sort of incompatibility that affect certain
> insert statement.
>
> I solved the problem by changing the java connector version: MariaDB
> 10.0 and JConnector 1.4.6 seem to work fine together.
> Please, find your compatible versions, drop and recreate your db and
> check it out again.
>
> Best regards,
> F.
>
> Il 10/04/2017 16:50, Fabio Martelli ha scritto:
>> Hi, it seems we have a bug.
>> See the issue [1]; it will be solved ASAP.
>>
>> Thank you for reporting.
>> Regards,
>> F.
>>
>> [1] https://issues.apache.org/jira/browse/SYNCOPE-1065
>>
>> Il 10/04/2017 12:35, Tech ha scritto:
>>> Dear experts,
>>>
>>> We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing
>>> but changing the default database, from Postgres to MariaDB.
>>>
>>> We compile and we start a brand new Syncope deployment with a new
>>> empty database.
>>>
>>> We are able to create users, but we every time we try to create a
>>> new Type, we get an error "DataIntegrityViolation [The transaction
>>> has been rolled back.." and we cannot add any other type.
>>>
>>> Have you any idea why this could happen?
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DataIntegrityViolation [The transaction has been rolled back..

mdisabatino

Hi,


Il 13/04/2017 14:15, Tech ha scritto:
Hello,

I guess that is finally a bug: this is related with the version of the DB/JDBC connector used.

We entered into the logs and we saw that there are several errors for "table not found": this is due to the fact that the tables are declared in uppercase, while are stored in Lowercase into the database. Per construction of some DB/JDBC, MariaDB distinguishes also the case sensitivity of the tables names, so the tables are marked as "not found".

Just as an experiment, we changed by hand the table names and now looks working.

Your database is case sensitive. So If you are using always the same platform, you don't have this kind of problems. However, you may encounter difficulties if you want to transfer configurations between platforms that differ in file system case sensitivity. So there are two options to solve your errors:

  • Convert MasterContent.xml using the real name of the tables and columns, respecting upper and lower case (you can find at this link [1] the test MasterContent.xml that respects the format and can be loaded anywhere).
  • If you don't want to convert the file, another solution for MariaDB is to add lower_case_table_names=1 property in my.cnf.  

Regards
Marco

[1] https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/test/resources/domains/MasterContent.xml

Hope that helps and thanks for the support




On 11/04/17 15:37, Fabio Martelli wrote:
Hi, it seems it was not a real bug. If you are on linux, pay attention to the default character encoding "character-set-server": utf8mb4 is not compatible with Apache Syncope >2.0.3.

BTW, I think your DataIntegrityViolation is not due to the problem above.
I've just been able to replicate your issue by using MariaDB 10.0 and Java connector 1.5.9.
It seems that there are a sort of incompatibility that affect certain insert statement.

I solved the problem by changing the java connector version: MariaDB 10.0 and JConnector 1.4.6 seem to work fine together.
Please, find your compatible versions, drop and recreate your db and check it out again.

Best regards,
F.

Il 10/04/2017 16:50, Fabio Martelli ha scritto:
Hi, it seems we have a bug.
See the issue [1]; it will be solved ASAP.

Thank you for reporting.
Regards,
F.

[1] https://issues.apache.org/jira/browse/SYNCOPE-1065

Il 10/04/2017 12:35, Tech ha scritto:
Dear experts,

We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing but changing the default database, from Postgres to MariaDB.

We compile and we start a brand new Syncope deployment with a new empty database.

We are able to create users, but we every time we try to create a new Type, we get an error "DataIntegrityViolation [The transaction has been rolled back.." and we cannot add any other type.

Have you any idea why this could happen?







-- 
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DataIntegrityViolation [The transaction has been rolled back..

Tech

Hello,

also changing the lower_case_table_names the problem remains.

The problem is that now all the tables in Syncope changed their names, while the connectors, like active directory still point to the old format, making them unusable.

Could you please give it a look?

Thanks




On 13/04/17 15:28, Marco Di Sabatino Di Diodoro wrote:

Hi,


Il 13/04/2017 14:15, Tech ha scritto:
Hello,

I guess that is finally a bug: this is related with the version of the DB/JDBC connector used.

We entered into the logs and we saw that there are several errors for "table not found": this is due to the fact that the tables are declared in uppercase, while are stored in Lowercase into the database. Per construction of some DB/JDBC, MariaDB distinguishes also the case sensitivity of the tables names, so the tables are marked as "not found".

Just as an experiment, we changed by hand the table names and now looks working.

Your database is case sensitive. So If you are using always the same platform, you don't have this kind of problems. However, you may encounter difficulties if you want to transfer configurations between platforms that differ in file system case sensitivity. So there are two options to solve your errors:

  • Convert MasterContent.xml using the real name of the tables and columns, respecting upper and lower case (you can find at this link [1] the test MasterContent.xml that respects the format and can be loaded anywhere).
  • If you don't want to convert the file, another solution for MariaDB is to add lower_case_table_names=1 property in my.cnf.  

Regards
Marco

[1] https://github.com/apache/syncope/blob/master/core/persistence-jpa/src/test/resources/domains/MasterContent.xml

Hope that helps and thanks for the support




On 11/04/17 15:37, Fabio Martelli wrote:
Hi, it seems it was not a real bug. If you are on linux, pay attention to the default character encoding "character-set-server": utf8mb4 is not compatible with Apache Syncope >2.0.3.

BTW, I think your DataIntegrityViolation is not due to the problem above.
I've just been able to replicate your issue by using MariaDB 10.0 and Java connector 1.5.9.
It seems that there are a sort of incompatibility that affect certain insert statement.

I solved the problem by changing the java connector version: MariaDB 10.0 and JConnector 1.4.6 seem to work fine together.
Please, find your compatible versions, drop and recreate your db and check it out again.

Best regards,
F.

Il 10/04/2017 16:50, Fabio Martelli ha scritto:
Hi, it seems we have a bug.
See the issue [1]; it will be solved ASAP.

Thank you for reporting.
Regards,
F.

[1] https://issues.apache.org/jira/browse/SYNCOPE-1065

Il 10/04/2017 12:35, Tech ha scritto:
Dear experts,

We are working with the Syncope 2.0.3-SNAPSHOT, we are doing nothing but changing the default database, from Postgres to MariaDB.

We compile and we start a brand new Syncope deployment with a new empty database.

We are able to create users, but we every time we try to create a new Type, we get an error "DataIntegrityViolation [The transaction has been rolled back.." and we cannot add any other type.

Have you any idea why this could happen?







-- 
Dott. Marco Di Sabatino Di Diodoro
Tel. +39 3939065570

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~mdisabatino/

Loading...