trouble moving existing database from Win to Linux

Eric L. Epps's Avatar

Eric L. Epps

09 Jul, 2013 06:26 PM

We're currently running 7.0.7 in production on Windows Server 2K3 with MySQL 5.1.48. Since switching to 64-bit is an option with 7.2 and up, we're testing out the switch to a Linux environment. I'm having trouble converting the database over. Here's what I'm attempting and what I've tried, based on reviewing these prior forum posts--1, 2, 3. I'm using a database dump created using mysqldump on Windows.

  1. Import mysqldump file (following the database instructions here), Install 7.0.7 on Linux using .bin file and pointing to database. Result was 404 error
    HTTP Status 404 - /
    type Status report
    message /
    description The requested resource (/) is not available.
    Apache Tomcat/6.0.35
    
    , the following line repeated in cascade.log:
    ERROR [MemoryQueueSearchJobScheduler] An error occurred while consuming from the lucene event queue: java.lang.NullPointerException
    
    , and something repeated in catalina.out about converting date (not thinking, I already deleted the 7.0.7 log files)
  2. Import mysqldump file (following the database instructions here), Install 7.4 on Linux using .bin file (64-bit) and pointing to database. Result was 404 error
    HTTP Status 404 - /
    type Status report
    message /
    description The requested resource (/) is not available.
    Apache Tomcat/6.0.35
    
    , the following line repeated in cascade.log:
    ERROR [MemoryQueueSearchJobScheduler] An error occurred while consuming from the lucene event queue: java.lang.NullPointerException
    
    , and the following repeated in catalina.out:
     ERROR [MemoryQueueSearchJobScheduler] : An error occurred while consuming from the lucene event queue: java.lang.NullPointerException
    log4j:ERROR Error occured while converting date.
    java.lang.NullPointerException
    
    I let it run overnight, this morning, same result.
  3. Installed 7.4 with default database. Worked fine.
  4. Export database via Cascade (Utilities -> Database Tools -> Export Database). With "Include contents of File assets" checked, result was error "Unable to complete export, form submission failed." With "Include contents of File assets" unchecked, database export succeeded, and created a 35MB file (my MySQL database dump is about 5GB). I couldn't find how to import this file to the new installation.

So, it appears that the problem is in going from Windows MySQL to Linux MySQL? Any other tips? I'm attaching the cascade.log and catalina.out from the 7.4 installation attempts yesterday.

  1. Support Staff 1 Posted by Tim on 09 Jul, 2013 06:46 PM

    Tim's Avatar

    Hi Eric,

    Thanks for attaching those log files. The cascade.log file, unfortunately, only contains that repeating error that you mentioned:

    ERROR [MemoryQueueSearchJobScheduler] An error occurred while consuming from the lucene event queue: java.lang.NullPointerException
    
    Whenever you see this message it is an indication that some other problem has caused Cascade Server to not start properly. Usually I'm able to see the cause further up in the log file. Since I'm not seeing the initial startup in the cascade.log, I checked the catalina.log file you attached and noticed this:
    LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use <null>:8080
    
    which would seem to indicate that port 8080 is already in use by either another Cascade Server process or some other random system process. Can you try the following:
    • Make sure there are no Cascade Server (Java) processes running on the machine. You can do so in Linux with this command:
      > ps aux | grep java
      
      If you see a Cascade process running, use kill -9 <pid> to end it.
    • Restore the most recent copy of your database
    • Remove the file tomcat/logs/cascade.log
    • Start Cascade against the newly restored database
    • Wait about 5 minutes or so and see if you can get to the login screen. If you can't, keep the Cascade Server process running and attach your most recent cascade.log file here

    Thanks!

  2. 2 Posted by Eric L. Epps on 09 Jul, 2013 08:30 PM

    Eric L. Epps's Avatar

    Thanks! There were indeed several Cascade processes running. Here's the new logs.

  3. Support Staff 3 Posted by Tim on 10 Jul, 2013 01:53 PM

    Tim's Avatar

    Hi Eric,

    Sorry for the delay here. For some reason I didn't get an email notification yesterday after your response.

    Can you tell me what database you are starting Cascade up against? The reason I ask is because I can see from the log file that Cascade is applying all updates dating way back to the 5.5 series. This would seem to indicate that the DATABASECHANGELOG table in your database is either non-existent to begin with or doesn't have the appropriate permissions configured (so Cascade isn't able to see that table).

    Can you check to see if that table exists in your database prior to attempting the upgrade?

  4. 4 Posted by Eric L. Epps on 10 Jul, 2013 01:59 PM

    Eric L. Epps's Avatar

    Ah, I think I see the problem. Looks like it's looking for DATABASECHANGELOG and not finding it because everything's in lowercase databasechangelog.

    +-------------------------------+
    | Tables_in_contentxml          |
    +-------------------------------+
    | DATABASECHANGELOG             |
    | DATABASECHANGELOGLOCK         |
    | cxml_aclentry                 |
    | cxml_assetfactory             |
    | cxml_assetfactorycontainer    |
    | cxml_assetfactoryplugin       |
    | cxml_assetfactorypluginparam  |
    | cxml_assetstats               |
    | cxml_audit                    |
    | cxml_blob                     |
    | cxml_con_page_mapping         |
    | cxml_condexec                 |
    | cxml_configurationfile        |
    | cxml_conn_ctype_link_param    |
    | cxml_connector                |
    | cxml_connector_ctype_link     |
    | cxml_connectorcontainer       |
    | cxml_connectorparameter       |
    | cxml_contenttype              |
    | cxml_contenttypecontainer     |
    | cxml_ct_pageconfig_dest       |
    | cxml_ct_pageconfiguration     |
    | cxml_dbpub_entity             |
    | cxml_dbpub_metadata           |
    | cxml_dbupdate                 |
    | cxml_destination              |
    | cxml_dynamicmetadatafield     |
    | cxml_dynamicmetadatafielddef  |
    | cxml_entitylock               |
    | cxml_entitymetadata           |
    | cxml_entityrelation           |
    | cxml_foldercontent            |
    | cxml_folders_wfdefs           |
    | cxml_group                    |
    | cxml_group_membership         |
    | cxml_last_modified            |
    | cxml_lock                     |
    | cxml_login                    |
    | cxml_mail                     |
    | cxml_metadataset              |
    | cxml_metadatasetcontainer     |
    | cxml_pageconfigsetcont        |
    | cxml_pageconfiguration        |
    | cxml_pageconfigurationset     |
    | cxml_pageregion               |
    | cxml_permissions              |
    | cxml_preferences              |
    | cxml_publishrequest           |
    | cxml_publishrequest_config    |
    | cxml_publishrequest_dest      |
    | cxml_publishset               |
    | cxml_publishsetcontainer      |
    | cxml_publishsetrecord         |
    | cxml_recyclerecord            |
    | cxml_role_group_link          |
    | cxml_role_group_site_link     |
    | cxml_role_user_link           |
    | cxml_role_user_site_link      |
    | cxml_roles                    |
    | cxml_site                     |
    | cxml_site_roles               |
    | cxml_structureddata           |
    | cxml_structureddatadefcont    |
    | cxml_structureddatadefinition |
    | cxml_systemproperty           |
    | cxml_target                   |
    | cxml_transport                |
    | cxml_transportcontainer       |
    | cxml_unpublishable            |
    | cxml_user                     |
    | cxml_userlexicon              |
    | cxml_workflow                 |
    | cxml_workflowaction           |
    | cxml_workflowdefcontainer     |
    | cxml_workflowdefinition       |
    | cxml_workflowhistory          |
    | cxml_workflowstep             |
    | cxml_workflowtrigger          |
    | cxml_workflowtriggerparameter |
    | cxml_xml                      |
    | databasechangelog             |
    | databasechangeloglock         |
    | qrtz_blob_triggers            |
    | qrtz_calendars                |
    | qrtz_cron_triggers            |
    | qrtz_fired_triggers           |
    | qrtz_job_details              |
    | qrtz_job_listeners            |
    | qrtz_locks                    |
    | qrtz_paused_trigger_grps      |
    | qrtz_scheduler_state          |
    | qrtz_simple_triggers          |
    | qrtz_trigger_listeners        |
    | qrtz_triggers                 |
    +-------------------------------+
    94 rows in set (0.00 sec)
    
  5. Support Staff 5 Posted by Tim on 10 Jul, 2013 02:33 PM

    Tim's Avatar

    Ah, yep that's it. That seems like it's due to the Windows -> Linux migration of the database. Looking at the tables in your database, it seems that the qrtz... tables may also be an issue. Take a look at the lower-case-tables option in MySQL and see if configuring that helps:

    http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity....

    Let me know what you find and I'll be more than happy to help you investigate further.

    Thanks!

  6. 6 Posted by Eric L. Epps on 10 Jul, 2013 03:08 PM

    Eric L. Epps's Avatar

    Set lower_case_table_names=1, reimported the database and it updated fine. Thanks!

  7. Eric L. Epps closed this discussion on 10 Jul, 2013 03:31 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac