"[SOLVED] Error storing WordList output in server repository"

EMDuell
EMDuell New Altair Community Member
edited November 5 in Community Q&A
I'm working with the output of the Process Documents operator, attempting to store the resulting WordList in a repository on a RapidMiner server (1.3.015).  When the store operator executes, I receive the error in the log:

SEVERE: Process failed: Cannot store data in repository at entry 'repolocationhere'. Reason: Cannot upload object: 500: Internal Server Error.

When I run the process and store it on my local machine, it works fine.  Interestingly, when I try to copy the repository object from my local machine to the server, it also fails.

I'm running the RapidMiner server on CentOS under Java 6 and using Microsoft SQL Server 2008 R2 as my database.

Any ideas?

-Eric

Answers

  • EMDuell
    EMDuell New Altair Community Member
    OK, a few more pieces of information:

    - The source WordList is only 93K - really small
    - I can copy/paste the repository object from my local machine to another server that is running on MySQL successfully
    - When the process fails copying the WordList object to the server repository, there is an object created, but it appears to be empty or corrupted
    - I can store some object types, like a model, on the server in question.  It's just something about the WordList object that is not working.

    I'm wondering if this might have something to do with the settings on the Microsoft SQL server database schema that handles the RapidMiner data.  Ideas are:

    - perhaps the collation on the RapidMiner database doesn't support WordLists - the collation is SQL_Latin1_General_CP1_CI_AS
    - is there a "size of array" issue with Microsoft SQL server with using this type of object that doesn't exist on MySQL

    Hopefully this will ring a bell.  Thanks in advance for your help!


    Does that
    -Eric
  • EMDuell
    EMDuell New Altair Community Member
    And finally - here's some of the server log when this happens (I've removed all of the stuff in the middle of the error b/c it's too long to post)

    [tt]2014-10-14 21:03:40,603 INFO  [de.rapidanalytics.web.servlet.AccessEntry] (http-444-1) HTTP POST for location /groups/AnalyticsPractice/Social Media Mining/Models/Twitter Sentiment Words Store v1, user eduell, principal org.springframework.security.authentication.UsernamePasswordAuthenticationToken@602f3287: Principal: org.springframework.security.core.userdetails.User@b2115d2f: Username: eduell; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: administrators,analyst,eduell,ews_analyst,ews_users,execute,report editor,report manager,report viewer,scheduler,service,users; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@ffff4c9c: RemoteIpAddress: 10.151.10.55; SessionId: null; Granted Authorities: administrators, analyst, eduell, ews_analyst, ews_users, execute, report editor, report manager, report viewer, scheduler, service, users
    2014-10-14 21:03:40,607 INFO  [de.rapidanalytics.ejb.RepositoryStorageEJBImpl] (http-444-1) eduell submitted new object to /groups/AnalyticsPractice/Social Media Mining/Models/Twitter Sentiment Words Store v1.
    2014-10-14 21:03:40,634 INFO  [de.rapidanalytics.ejb.RepositoryEJBImpl] (http-444-1) Creating recursively: groups/AnalyticsPractice/Social Media Mining/Models
    2014-10-14 21:03:40,640 INFO  [de.rapidanalytics.ejb.RepositoryEJBImpl] (http-444-1) eduell created entry '/groups/AnalyticsPractice/Social Media Mining/Models/Twitter Sentiment Words Store v1 of type 'data'.
    2014-10-14 21:03:41,671 WARNING [de.rapidanalytics.entity.IOObjectVersion] (http-444-1) Cannot deserialize ioobject: java.io.IOException: Deserialized unknown class: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}: java.io.IOException: Deserialized unknown class: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}
    at com.rapidminer.operator.tools.JavaBinaryBodySerializer.deserialize(SerializationType.java:48) [:5.3.015-${platform}]
    ...
    Caused by: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}
    at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.0.GA]
    ...
    2014-10-14 21:03:41,687 WARNING [de.rapidanalytics.entity.RepositoryException] (http-444-1) Sending internal server error 500: de.rapidanalytics.entity.RepositoryException: Cannot save data at '/groups/AnalyticsPractice/Social Media Mining/Models/Twitter Sentiment Words Store v1': java.io.IOException: Deserialized unknown class: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}: de.rapidanalytics.entity.RepositoryException: Cannot save data at '/groups/AnalyticsPractice/Social Media Mining/Models/Twitter Sentiment Words Store v1': java.io.IOException: Deserialized unknown class: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}
    at de.rapidanalytics.ejb.RepositoryStorageEJBImpl.storeStream(Unknown Source) [:]
    ...
    Caused by: java.io.IOException: Deserialized unknown class: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}
    at com.rapidminer.operator.tools.JavaBinaryBodySerializer.deserialize(SerializationType.java:48) [:5.3.015-${platform}]
    at de.rapidanalytics.entity.IOObjectVersion.storeStream(Unknown Source) [:]
    at de.rapidanalytics.entity.Version.storeStream(Unknown Source) [:]
    ... 111 more
    Caused by: java.lang.ClassNotFoundException: com.rapidminer.operator.text.WordList from BaseClassLoader@3d821c14{vfs:///opt/apps/server/default/deploy/RapidMiner-Server-CE-1.3.015.ear}
    at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.0.GA]
    ...

    2014-10-14 21:03:41,698 ERROR [STDERR] (http-444-1) 1331923460 [http-444-1] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 22001
    2014-10-14 21:03:41,698 ERROR [STDERR] (http-444-1) 1331923460 [http-444-1] ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation
    2014-10-14 21:03:41,698 ERROR [STDERR] (http-444-1) 1331923460 [http-444-1] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 8152, SQLState: 22001
    2014-10-14 21:03:41,698 ERROR [STDERR] (http-444-1) 1331923460 [http-444-1] ERROR org.hibernate.util.JDBCExceptionReporter - String or binary data would be truncated.
    2014-10-14 21:03:41,698 WARNING [de.rapidanalytics.ejb.AccessLogEJB] (http-444-1) Failed to insert log record: javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [de.rapidanalytics.entity.AccessLogRecord]: javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [de.rapidanalytics.entity.AccessLogRecord]
    ...
    Caused by: org.hibernate.exception.DataException: could not insert: [de.rapidanalytics.entity.AccessLogRecord]
    ...
    Caused by: java.sql.DataTruncation: Data truncation
    ...[/tt]
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    it looks like your server has not loaded the text extension. In the systems administration tab you can see some settings including one called "com.rapidanalytics.plugindir". You can specify a path to a folder on the local filesystem so the server looks for extension .jar files in there. Place the extensions you would like to use on your server in there and add the path to said folder to the setting. Then restart the server and try again. On startup it should now tell you in the logs that it loaded the text extension.

    Regards,
    Marco
  • EMDuell
    EMDuell New Altair Community Member
    Yes, you were right.  I did not realize that the WordList was a special format and did not consider this.  Thanks for your help!