Announcement

Collapse
No announcement yet.

Mirth 3.0

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mirth 3.0

    When will Mirth 3.0 be released? And what are to specification to run Mirth 3.0?

  • #2
    3.0 will be released very soon... If you haven't already, check out the latest release candidate here: http://www.mirthcorp.com/community/downloads

    The specifications are the same as previous versions. We support Windows, Linux, and OSX, and you need to have a JRE (6+). We support PostgreSQL, Oracle, MySQL, Apache Derby, and SQL Server 2005+ as backend databases (Connect ships with an embedded Derby database by default, but it's not recommended for production use).
    Last edited by narupley; 09-09-2013, 10:45 AM.
    Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

    Nicholas Rupley
    Work: 949-237-6069
    Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


    - How do I foo?
    - You just bar.

    Comment


    • #3
      Originally posted by stcohen View Post
      When will Mirth 3.0 be released? And what are to specification to run Mirth 3.0?
      Mirth Connect Release Candidate 3 was just released. You can expect a GA to be released in the coming weeks.
      Jacob Brauer
      Director, Software Development
      NextGen Healthcare

      sigpic

      Comment


      • #4
        I am having a hard time. We have 2.2 running on mysql and want to upgrade to 3.0 I have tried to migrate but it fails. I then created a mysql database identical to the derby 3.0 database and it still fails:

        ERROR 2013-10-08 15:40:04,249 [Thread-2] com.mirth.connect.server.Mirth: Failed to migrate database schema
        com.mirth.connect.model.util.MigrationException: Failed to execute script: mysql-9-3.0.0-1.sql
        at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:87)
        at com.mirth.connect.server.migration.Migrate3_0_0.mi grate(Migrate3_0_0.java:40)
        at com.mirth.connect.server.migration.ServerMigrator. migrate(ServerMigrator.java:63)
        at com.mirth.connect.server.controllers.DefaultMigrat ionController.migrate(DefaultMigrationController.j ava:85)
        at com.mirth.connect.server.Mirth.startup(Mirth.java: 232)
        at com.mirth.connect.server.Mirth.run(Mirth.java:151)
        Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx ception: Unknown table 'TEMPLATE'
        at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Construc tor.java:532)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1054)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4187)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4119)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:25 70)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2731)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2809)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2758)
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:894)
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:732)
        at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:84)

        Comment


        • #5
          Originally posted by rnygren View Post
          I am having a hard time. We have 2.2 running on mysql and want to upgrade to 3.0 I have tried to migrate but it fails. I then created a mysql database identical to the derby 3.0 database and it still fails:

          ERROR 2013-10-08 15:40:04,249 [Thread-2] com.mirth.connect.server.Mirth: Failed to migrate database schema
          com.mirth.connect.model.util.MigrationException: Failed to execute script: mysql-9-3.0.0-1.sql
          at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:87)
          at com.mirth.connect.server.migration.Migrate3_0_0.mi grate(Migrate3_0_0.java:40)
          at com.mirth.connect.server.migration.ServerMigrator. migrate(ServerMigrator.java:63)
          at com.mirth.connect.server.controllers.DefaultMigrat ionController.migrate(DefaultMigrationController.j ava:85)
          at com.mirth.connect.server.Mirth.startup(Mirth.java: 232)
          at com.mirth.connect.server.Mirth.run(Mirth.java:151)
          Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx ception: Unknown table 'TEMPLATE'
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
          at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Construc tor.java:532)
          at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
          at com.mysql.jdbc.Util.getInstance(Util.java:386)
          at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1054)
          at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4187)
          at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4119)
          at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:25 70)
          at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2731)
          at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2809)
          at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2758)
          at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:894)
          at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:732)
          at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:84)
          What do you mean you created a mysql database identical to the derby 3.0 database? What you should do is create a clone of your mysql database for Mirth Connect 2.x, and then point your 3.0 install to that. Mirth Connect should then upgrade it successfully.
          Jacob Brauer
          Director, Software Development
          NextGen Healthcare

          sigpic

          Comment


          • #6
            That is what I did first. That also failed. I exported mirthdb from the 2.2 and imported to the 3.0 system and connected but again if failed to migrate.
            I used razorSQL to export DDL and match it exactly to the mysql mirthdb coverting datatypes like clob to longtext etc. that creates the error I submitted. I assumed if you had the same tables and fields I would be a step farther.
            here are specifics
            source
            mirth 2.2.1.5861
            debian Linux FRHG-MIRTH-T 2.6.32-5-686
            Your MySQL connection id is 161053
            Server version: 5.1.61-0+squeeze1 (Debian)

            destination
            mirth 3.0.0.6931
            debian Linux rh-cms-db 3.2.0-4-amd64
            Your MySQL connection id is 357
            Server version: 5.5.31-0+wheezy1 (Debian)

            I can try the import and startup again and post the error if that helps.
            could it be going from 32 to 64 Linux?

            Comment


            • #7
              I imported running mysql on 2.2.XXXX and started mcservice same error as above.
              here is the mirth.properties
              # server
              http.contextpath = /
              server.url =

              http.host = 0.0.0.0
              https.host = 0.0.0.0

              # options: derby, mysql, postgres, oracle, sqlserver
              #database = derby
              database = mysql

              # examples:
              # Derby jdbc:derby:${dir.appdata}/mirthdb;create=true
              # PostgreSQL jdbcostgresql://localhost:5432/mirthdb
              # MySQL jdbc:mysql://localhost:3306/mirthdb
              # Oracle jdbcracle:thin:@localhost:1521B
              # SQLServer jdbc:jtds:sqlserver://localhost:1433/mirthdb
              #database.url = jdbc:derby:${dir.appdata}/mirthdb;create=true
              database.url = jdbc:mysql://10.2.2.78:3306/mirthdb

              # if using a custom driver, specify it here
              #database.driver =

              # maximum number of connections allowed for the connection pool
              database.max-connections = 10

              # database credentials
              database.username = root
              database.password = *******
              #database.password = IsdAdmin
              ~

              Comment


              • #8
                I discovered the template table was missing.
                It was not in the derby database so I didnt think it was needed.
                Thanks for your help
                problem solved upgrade was successful

                Comment


                • #9
                  Failed to execute script: mysql-9-3.0.0-1.sql Upgrade 3.0

                  Hi All,

                  We too are trying to migrate from our already running/working Linux Mirth Connect Server 2.2.1.5861 to mirthconnect-3.0.0.6931.b982-linux.rpm and having the same issue rnygren mentions in post #4 above: a mysql failure of what's below in our mirth.log file....

                  ERROR 2013-11-13 10:36:37,547 [Thread-2] com.mirth.connect.server.Mirth: Failed to migrate database schema
                  com.mirth.connect.model.util.MigrationException: Failed to execute script: mysql-9-3.0.0-1.sql
                  at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:87)
                  at com.mirth.connect.server.migration.Migrate3_0_0.mi grate(Migrate3_0_0.java:40)
                  at com.mirth.connect.server.migration.ServerMigrator. migrate(ServerMigrator.java:63)
                  at com.mirth.connect.server.controllers.DefaultMigrat ionController.migrate(DefaultMigrationController.j ava:85)
                  at com.mirth.connect.server.Mirth.startup(Mirth.java: 232)
                  at com.mirth.connect.server.Mirth.run(Mirth.java:151)
                  Caused by: java.sql.SQLException: Can't execute the given command because you have active locked tables or an active transaction
                  at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1078)
                  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4187)
                  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4119)
                  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:25 70)
                  at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2731)
                  at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2809)
                  at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2758)
                  at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:894)
                  at com.mysql.jdbc.StatementImpl.execute(StatementImpl .java:732)
                  at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:84)
                  ... 5 more

                  If we then shut Mirth down after seeing the above log message, and bring it back up we then get:

                  ERROR 2013-11-13 10:58:22,892 [Thread-2] com.mirth.connect.server.Mirth: Failed to migrate database schema
                  com.mirth.connect.model.util.MigrationException: Failed to execute script: mysql-9-3.0.0-1.sql
                  at com.mirth.connect.server.migration.Migrator.execut eScript(Migrator.java:87)
                  at com.mirth.connect.server.migration.Migrate3_0_0.mi grate(Migrate3_0_0.java:40)
                  at com.mirth.connect.server.migration.ServerMigrator. migrate(ServerMigrator.java:63)
                  at com.mirth.connect.server.controllers.DefaultMigrat ionController.migrate(DefaultMigrationController.j ava:85)
                  at com.mirth.connect.server.Mirth.startup(Mirth.java: 232)
                  at com.mirth.connect.server.Mirth.run(Mirth.java:151)
                  Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx ception: Unknown table 'TEMPLATE'


                  If I log into our MySQL server and put the mirthdb.TEMPLATE table back (as in re-create it):

                  CREATE TABLE `TEMPLATE` (
                  `GROUP_ID` varchar(255) NOT NULL,
                  `ID` varchar(255) NOT NULL,
                  `TEMPLATE` longtext,
                  PRIMARY KEY (`GROUP_ID`,`ID`)
                  ) ENGINE=InnoDB DEFAULT CHARSET=latin1



                  ... and stop/start Mirth again we are back to the "Can't execute the given command because you have active locked tables or an active transaction" error again. If we login our MySQL server and drop the mirthdb database, then create a new empty mirthdb database... then start Mirth back up Mirth *does* successfully run which at least is good..... but we're not really migrating our existing system.

                  We did follow the instructions at http://www.mirthcorp.com/community/w...+Upgrade+Guide and the only thing we added to the process was to update the conf/mirth.properties file with:

                  < #database.url = jdbc:derby:${dir.appdata}/mirthdb;create=true
                  < database.url = jdbc:mysql://localhost:3306/mirthdb

                  < #database.username =
                  < database.username = [our_mysql_user_name]
                  < #database.password =
                  < database.password = [our_mysql_password]

                  Does anyone maybe have any ideas we could try? Thank you for time and efforts pondering this.... we are rather stumped.

                  Comment


                  • #10
                    The "Unknown table 'TEMPLATE'" error occurs when a previous migration attempt failed and the database is left partially migrated. The first step of migration is to drop the old TEMPLATE table, but since it was already dropped in the failed migration attempt, you will get that error.

                    The simplest way to recover from this would be to restore your database backup, then re-run the migration process. But before doing that, check that there are no active transactions running in MySQL by running SHOW FULL PROCESSLIST on the MySQL command line. If there are any running, wait for them to complete or cancel them. Also run SHOW OPEN TABLES to make sure no tables are locked.

                    Comment


                    • #11
                      Thank you for thinking about this BrentM... it *is* appreciated.

                      I understand what you mean about the "Unknown table 'TEMPLATE'" error, but that error *only* occurs if I've *restarted* Mirth after the initial attempt to upgrade. The *first* run of Mirth to upgrade our MySQL database failed with the error in mirth.log "Failed to execute script: mysql-9-3.0.0-1.sql" and "Caused by: java.sql.SQLException: Can't execute the given command because you have active locked tables or an active transaction".


                      +++

                      I restored our MySQL mirthdb database back to the working 2.2.1 setup, ran the 2.2.1 version of Mirth and verified it worked. I then turned on MySQL logging in our server, and tried to migrate to mirthconnect-3.0.0.6931.b982-linux.rpm so I could catch the sql commands Mirth is running during the migration process. When it failed, I then shutdown Mirth, dropped the mirthdb and restored back to a fresh working 2.2.1 version. The idea was to capture what's happening during the upgrade in the log.

                      I then logged into our MySQL server and ran the commands that I could see in our logging file and can replicate what happens when trying to upgrade. I've actually managed to replicate this process twice, and each time ended up at the same point: "Can't execute the given command". I've attached the log to this post (rather than make it long and messy here). The file should be "mirth3.0-mysql-error.txt". I get to:

                      mysql> DROP TABLE TEMPLATE;
                      Query OK, 0 rows affected (0.03 sec)

                      mysql> RENAME TABLE CHANNEL_ALERT TO OLD_CHANNEL_ALERT;
                      ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction

                      ... and can run:

                      mysql> show open tables;

                      ... and ..

                      mysql> show full processlist;


                      ... and do not see anything blocking what we're trying to do.

                      We *did* try and do some Googling to see if others have seen this sort of scenario, and came across http://bugs.mysql.com/bug.php?id=54462. Note that there's a proposed workaround at the bottom of the page:


                      > Also noticed that if you explicitly indicate start transaction that bug is
                      > not appearing.

                      Is it maybe possible to consider implementing the workaround assuming the bug is truly unresolved?
                      Attached Files

                      Comment


                      • #12
                        Thanks for all the information you provided. I was able to reproduce the exact error you encountered and verified that the workaround suggested in the MySQL bug report does fix the problem.

                        The workaround will be included in Mirth Connect version 3.0.1.

                        You can also fix your Mirth Connect 3.0.0 installation by replacing the mirth-dbconf.jar file in the server-lib folder with the one attached.
                        Attached Files

                        Comment


                        • #13
                          Originally posted by brentm View Post
                          Thanks for all the information you provided. I was able to reproduce the exact error you encountered and verified that the workaround suggested in the MySQL bug report does fix the problem.

                          The workaround will be included in Mirth Connect version 3.0.1.

                          You can also fix your Mirth Connect 3.0.0 installation by replacing the mirth-dbconf.jar file in the server-lib folder with the one attached.
                          WHOOO-HOOOOO!!!!!!! We're UP and RUNNING!!!!!

                          My co-worker and I are doing our "Stadium Wave" here! Yeah, looks silly with only two of us, but you get the idea.

                          Major thanks for all your time and help Brent!!!!!

                          Comment


                          • #14
                            My pleasure, glad it's working!

                            Comment

                            Working...
                            X