Friday, February 7, 2014

Unable to reload "Database Metadata"

An error during reloading database metadata which says 

Error : Could not retrieve metadata. (Could not retrieve metadata.)

Additionally the error came with couple of free gifts,

  • Has written a log of more than 300 MB
  • Collaborative workspace has been crashed. (May be this is the reason the above log has stopped until 300 MB :P)
Reason and Resolution :

The database I am trying to connect is oracle and there are by default some of the system tables which are in recycle bin. Hence we need to clear that recycle bin which is possible by running a command in database. The command is as follows

PURGE RECYCLEBIN;

Once the recyclebin is purged the reload database metadata works fine.
----------------------------------------------------------------------------------------------------------

The other scenario where this problem can be encountered is that "when a developer adds a column and wants that column to be reflected in the database metadata in order to use in the java layer". Lets say the table has many columns and you have added one more, when you try to incorporate this column into your database metadata you generally would reload it. In this situation one might get problem of timeout, to avoid this you need to increase the time out in this case this can be done by adding a property in config properties of cws.

<<CordysInstanceDir>>/defaultInst/components/cws/config file and then you add the property below

debug.soap.timeout=<<CustomTimeOut>>
debug.soap.timeout=900000 

Restart CWS Container and try the reloading again. If you face this error again then it means that this timeout is also not sufficient to go ahead, hence this must be increased further.

Note : Important thing which one has to remember is, once you have enabled this property and are done with your work please revert the setting to before as this is a common config file for all the organizations.

No comments:

Post a Comment