Bugzilla – Bug 3633
Problem with MySQL schema for RFT
Last modified: 2005-08-22 10:03:32
You need to log in before you can comment on or make changes to this bug.
MySQL version 3.23.58 was used. RFT database was set up with script: $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema_mysql.sql First transfer wetn fine on client side. Following command reported no error: $ globusrun-ws -F host.name -s -c /bin/hostname On the server side container reported error: error deleting a deleg resource Deserialziation failed . Caused by org.xml.sax.SAXParseException: XML document structures must start and end within the same entity. After checking the database, I found out that delegated_epr field is too small( currently is set to varchar(200)). So the row in request table contained incomplete EPR: mysql> select delegated_epr from request; "<DelegatedEPR><ns1:Address xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/03/addressing">https://161.53.133.30:8443/wsrf/services/DelegationService</n s1:Address><ns2:ReferenceProperties xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/03/addressing"><ns1:Dele" After changing the field delegated_epr to type text and recreating the database the message was gone.
Emir - Changing to text was probably the fastest and best workaround for you. Ravi - for the permanent fix please use VARCHAR(x). TEXT is not a standard sql datatype in sql-92, sql:99, or sql:2003 so it would not be as portable to other DBMS's as VARCHAR. Specifically the rft_schema_mysql.sql <almost> works with Apache Derby/ IBM Cloudscape. Emir - to use VARCHAR(x) where x>255 you probably need MySql 4.1.0 or greater. Some of the following fields should also be increased: grep varchar /opt/gt401f/share/globus_wsrf_rft/rft_schema_mysql.sql proxy_loc varchar(200), username varchar(200), delegated_epr varchar(255), user_subject varchar(200), source_url varchar(200) not null, dest_url varchar(200), user_name varchar(100) default null, source_subject varchar(200), dest_subject varchar(200), fault varchar(255), marker varchar(200)
Ok. I will increase the default field size to say 500 characters. I am not sure what a good default should be and it is really stupid that the database would truncate data.
I am going to leave the default sizes as they are and add documentation for the error you see. If I increase the default field size then RFT would'nt work with mySQL version < 4.1. What do you guys think ?
I think it is better to set them to 500 otherwise RFT wont work for any MySQL version. In documentation you could add that for MySQL < 4.1 users should use text for these fields. Or you can even add additional schema file for MySQL < 4.1 to Globus distribution.
I think thats a good idea. Thanks
Fix comitted to branch.