6 Replies Latest reply on Jul 3, 2002 5:20 PM by pylet

    Mysql InnoDB Table won't rollback transaction

    the_mike_d


      I am testing transaction rollback with mysql 3.23 and jboss 2.4.6 and can't seem to get it working. At first I was get "Can't rollback transaction", but that was fixed by changing the table type to innodb.

      In my ejb-jar.xml, I have set transaction-type as Container and I am throwing a RemoteException.

      Anyone have any ideas?
      thx..
      mike

        • 1. Re: Mysql InnoDB Table won't rollback transaction
          lucluc

          do you have also

          <!-- Assembly Descriptor -->
          <assembly-descriptor >
          <!-- transactions -->
          <container-transaction >

          <ejb-name>UserEJB</ejb-name>
          <method-name>*</method-name>

          <trans-attribute>Required</trans-attribute>
          </container-transaction>

          ...

          </assembly-descriptor >

          in youe ejb-jar.xml ?

          • 2. Re: Mysql InnoDB Table won't rollback transaction
            the_mike_d

            Thank you for responding. I tried that, but it still doesn't work. here is what my ejb-jar.xml looks like.

            <ejb-jar>
            <enterprise-beans>

            The Teacher Ejb
            <ejb-name>Teacher</ejb-name>
            jta.ejb.TeacherHome
            jta.ejb.Teacher
            <ejb-class>jta.ejb.TeacherEjb</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>

            </enterprise-beans>

            <assembly-descriptor>
            <security-role>
            <role-name>teacher</role-name>
            </security-role>

            <container-transaction>

            <ejb-name>Teacher</ejb-name>
            <method-name>*</method-name>

            <trans-attribute>Required</trans-attribute>
            </container-transaction>

            <method-permission>
            <role-name>teacher</role-name>

            <ejb-name>Teacher</ejb-name>
            <method-name>*</method-name>

            </method-permission>
            </assembly-descriptor>

            </ejb-jar>

            • 3. Re: Mysql InnoDB Table won't rollback transaction
              the_mike_d

              After some further review.. i'm actually getting a parital rollback. My transaction comsists of an insert and a create table. The insert rolls back however the create table does not. Doesn't that seem kinda weird?

              Mike

              • 4. Re: Mysql InnoDB Table won't rollback transaction
                hwpmm

                Hi Mike..

                I might be wrong (I come from an oracle-centric background), but I'm not so sure DDL *CAN* be rolled back. And given what I know about MySQL, I would be suprised if that feature was available. DML (insert/select/update/delete) on the other hand seems to be working fine for you.

                Is it absolutely critical to be able to transactionally create/alter/drop tables?

                -p

                • 5. Re: Mysql InnoDB Table won't rollback transaction
                  the_mike_d


                  No, it's not critical, I was just more curious than anything. Thanks for the info!

                  Mike

                  • 6. Re: Mysql InnoDB Table won't rollback transaction
                    pylet

                    DDL is not transactional in MySQL.