@Maxim: are you blocked? There are workarounds so if really blocking yes
otherwise not sure from my side

Le ven. 29 juin 2018 07:41, Maxim Solodovnik <solomax...@gmail.com> a
écrit :

> Sounds like this issue worth new release, isn't it?
> On Fri, Jun 29, 2018 at 12:38 PM Francesco Chicchiriccò
> <ilgro...@apache.org> wrote:
> >
> > FYI: https://issues.apache.org/jira/browse/OPENJPA-2742
> >
> > Regards.
> >
> > On 28/06/2018 15:56, Francesco Chicchiriccò wrote:
> > > On 28/06/2018 15:53, Francesco Chicchiriccò wrote:
> > >> On 28/06/2018 15:26, Jonathan Gallimore wrote:
> > >>> Is there an easy way to try it out? I'd be interested in giving it a
> > >>> go.
> > >>
> > >> You need to run the SchemaTool or the MappingTool from commandline -
> see
> > >>
> > >>
> http://openjpa.apache.org/builds/3.0.0/apache-openjpa/docs/ref_guide_mapping.html#ref_guide_mapping_mappingtool_examples
> > >>
> > >>
> > >> or
> > >>
> > >>
> http://openjpa.apache.org/builds/3.0.0/apache-openjpa/docs/ref_guide_schema_schematool.html
> > >>
> > >>
> > >> and pass the argument
> > >>
> > >> -rollbackBeforeDDL false
> > >>
> > >> (as it defaults to true).
> > >> Alternatively, set something like as
> > >>
> > >> <property name="openjpa.jdbc.SynchronizeMappings"
> > >> value="buildSchema(RollbackBeforeDDL=false)"/>
> > >>
> > >> in your persistence.xml.
> > >>
> > >> Without the patch (and the additional setting
> > >> RollbackBeforeDDL=false), MySQL JDBC driver prior to 8 raises
> > >> exception about connection closed during schema synchronization upon
> > >> access to the first EntityManager instance.
> > >
> > > Sorry, I realize it is not clear: the MySQL JDBC driver (any version)
> > > will raise the exception, but for versions prior to 8 you have the
> > > chance to add "relaxAutocommit=true" to the JDBC URL as a workaround.
> > > With version 8, this option was removed.
> > >
> > > Regards.
> > >
> > >>> On Thu, Jun 28, 2018 at 2:25 PM, Romain Manni-Bucau
> > >>> <rmannibu...@gmail.com> wrote:
> > >>>
> > >>>> Patch looks aligned to what i had in mind.
> > >>>>
> > >>>> +1
> > >>>>
> > >>>> Romain Manni-Bucau
> > >>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > >>>> <https://rmannibucau.metawerx.net/> | Old Blog
> > >>>> <http://rmannibucau.wordpress.com> | Github <https://github.com/
> > >>>> rmannibucau> |
> > >>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> > >>>> <https://www.packtpub.com/application-development/java-
> > >>>> ee-8-high-performance>
> > >>>>
> > >>>>
> > >>>> Le jeu. 28 juin 2018 à 15:23, Francesco Chicchiriccò
> > >>>> <ilgro...@apache.org>
> > >>>> a écrit :
> > >>>>
> > >>>>> Hi,
> > >>>>> I was trying to open a issue and attach my proposed patch there for
> > >>>>> review, but JIRA appears to be unaccessible right now...
> > >>>>>
> > >>>>> Anyway, you can find the patch (against trunk) at
> > >>>>>
> > >>>>> https://paste.apache.org/qPBh
> > >>>>>
> > >>>>> I have tried with MySQL 8 and it works just fine.
> > >>>>>
> > >>>>> Please let me have your feedback before I commit it.
> > >>>>> Regards.
> > >>>>>
> > >>>>> On 27/06/2018 17:42, Romain Manni-Bucau wrote:
> > >>>>>> add a field _skipAutoCommit (find a better name ;)), add a setter
> > >>>>>> setSkipAutoCommit, call the setter in static utilities (run and
> > >>>>>> main I
> > >>>>>> think), finally use the boolean and you are done
> > >>>>>>
> > >>>>>> Le mer. 27 juin 2018 à 17:40, Francesco Chicchiriccò <
> > >>>>> ilgro...@apache.org>
> > >>>>>> a écrit :
> > >>>>>>
> > >>>>>>> On 27/06/2018 17:32, Romain Manni-Bucau wrote:
> > >>>>>>>> Hi Francesco,
> > >>>>>>>>
> > >>>>>>>> this is overall quite weird and I think other things will be
> > >>>>>>>> broken
> > >>>>> since, for instance, EE will try to do the same in all servers.
> > >>>>>>>> Anyway, for the config flag, the dictionary (_dict) can be a
> > >>>>>>>> location
> > >>>>> but I would prefer the schematool itself (like we already have
> > >>>>> droptables
> > >>>>> etc)
> > >>>>>>> +1
> > >>>>>>> (but I have no idea about how to do that...)
> > >>>>>>>
> > >>>>>>> Regards.
> > >>>>>>>
> > >>>>>>>> Le mer. 27 juin 2018 à 17:28, Francesco Chicchiriccò <
> > >>>>> ilgro...@apache.org> a écrit :
> > >>>>>>>> Hi all,
> > >>>>>>>> I am resurrecting this old thread (for which I have found an
> even
> > >>>> older
> > >>>>>>>> reference [1]), because I have recently tried with the latest
> 8.x
> > >>>> MySQL
> > >>>>>>>> JDBC driver, which has removed the 'relaxAutoCommit' option
> > >>>>>>>> [2]; as a
> > >>>>>>>> result, now I am stuck exactly with the same error explained
> > >>>>>>>> below.
> > >>>>>>>>
> > >>>>>>>> I have tried by locally removing the lines
> > >>>>>>>>
> > >>>>>>>>
> > >>>>> https://github.com/apache/openjpa/blob/2.4.x/openjpa-
> > >>>> jdbc/src/main/java/org/apache/openjpa/jdbc/schema/
> > >>>> SchemaTool.java#L1254-L1269
> > >>>>>>>> and everything works like a charm.
> > >>>>>>>>
> > >>>>>>>> What would be the simplest way to make the lines above optional
> by
> > >>>>>>>> configuration?
> > >>>>>>>>
> > >>>>>>>> Regards.
> > >>>>>>>>
> > >>>>>>>> [1]
> > >>>>>
> https://lists.apache.org/thread.html/53b0e83f37aa9a8f9c06a67fb7a948
> > >>>> 487efe1a6941d4b9fae1404858@1394724819@%3Cusers.openjpa.apache.org
> %3E
> > >>>>>>>> [2]
> > >>>>> https://dev.mysql.com/doc/connector-j/8.0/en/connector-
> > >>>> j-properties-changed.html
> > >>>>>>>> On 13/06/2017 12:57, Romain Manni-Bucau wrote:
> > >>>>>>>>
> > >>>>>>>> My memory can be corrupted but what i had in mind was to add a
> > >>>>>>>> flag
> > >>>> to
> > >>>>> say to use autocommit or not (let's call it schemaToolMode =
> > >>>>> {AUTOCOMMIT,
> > >>>>>>>> COMMIT, BOTH}) and then in the persistence.xml
> > >>>>>>>> you can configure the dictionnary with this schemaToolMode
> > >>>>>>>> property
> > >>>>> (don't recall if getters/setters are mandatory but not a real
> > >>>>> blocker ;))
> > >>>>>>>> 2017-06-13 12:44 GMT+02:00 Francesco Chicchiriccò <
> > >>>> ilgro...@apache.org
> > >>>>>> :
> > >>>>>>>> On 13/06/2017 12:37, Romain Manni-Bucau wrote:
> > >>>>>>>>
> > >>>>>>>> Hi Francesco,
> > >>>>>>>>
> > >>>>>>>> kind of have the same analyzis as you. Only mitigation I can do
> is
> > >>>>> some pool enforce the autocommit mode and therefore autocommit is
> > >>>>> ignored
> > >>>>> and you still need commit(). Anyway since we have the dictionnary
> > >>>>> i guess
> > >>>>> we can add a setting there?
> > >>>>>>>>>>> Hi Romain,
> > >>>>>>>>>>> this makes sense to me, even though I have no idea about how
> to
> > >>>>> reference a specific Dictionary setting from SchemaTool...
> > >>>>>>>>>>> Regards.
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>> 2017-06-13 12:32 GMT+02:00 Francesco Chicchiriccò <
> > >>>>> ilgro...@apache.org>:
> > >>>>>>>>>>> Hi all
> > >>>>>>>>>>> at Syncope we have recently switched the application-managed
> db
> > >>>>> pool to HikariCP [1]; our (quite intensive, I'd say) tests with H2
> > >>>>> and
> > >>>>> PostgresQL showed no issues at all.
> > >>>>>>>>>>> Today I am testing MySQL and run unfortunately into a
> blocking
> > >>>>> issue: when running the OpenJPA SchemaTool as part of Syncope
> webapp
> > >>>>> initialization, an
> > >>>>>>>>>>> exception is reported by HikariCP:
> > >>>>>>>>>>>
> > >>>>>>>>>>> MySQLNonTransientConnectionException: Can't call rollback
> when
> > >>>>>>>>>>> autocommit=true
> > >>>>>>>>>>>
> > >>>>>>>>>>> No tables are created, and the OpenJPA initialization fails.
> > >>>>>>>>>>>
> > >>>>>>>>>>> The reported stacktrace points to [2], from which I would
> > >>>>>>>>>>> say that
> > >>>>> the exception is quite right. The strange thing is that when using
> > >>>>> other
> > >>>>>>>>>>> connection pool libraries as Commons DBCP2, everything works
> > >>>>>>>>>>> fine.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Can someone explain why rollback is explicitly invoked after
> > >>>> setting
> > >>>>>>>>>>> autocommit to true? (same applies to the commit statement few
> > >>>> lines
> > >>>>>>>>>>> below).
> > >>>>>>>>>>>
> > >>>>>>>>>>> Shouldn't it be better to make such behavior optional,
> anyway?
> > >>>>>>>>>>>
> > >>>>>>>>>>> FYI, I have temporarily solved my issue by adding
> > >>>>>>>>>>>
> > >>>>>>>>>>> relaxAutoCommit=true
> > >>>>>>>>>>>
> > >>>>>>>>>>> to the JDBC URL, and all the integration tests run fine.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Please let me have your feedback, thanks.
> > >>>>>>>>>>> Regards.
> > >>>>>>>>>>>
> > >>>>>>>>>>> [1] https://issues.apache.org/jira/browse/SYNCOPE-1084
> > >>>>>>>>>>> [2]
> > >>>>> https://github.com/apache/openjpa/blob/2.4.x/openjpa-
> > >>>>
> jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java#L1267
> > >>>>
> > >>
> > >>
> > >
> >
> > --
> > Francesco Chicchiriccò
> >
> > Tirasa - Open Source Excellence
> > http://www.tirasa.net/
> >
> > Member at The Apache Software Foundation
> > Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
> > http://home.apache.org/~ilgrosso/
> >
>
>
> --
> WBR
> Maxim aka solomax
>

Reply via email to