I am creating this post following Diego Scardacci instructions. My intention is to create a portlet which submits a group of tasks instead of a single one.
The instruction regards the GridEngine v1.4.21. This release doesn't support collection & workflow yet. Instead, you should use the GridEngine v1.5.0. There are some slight changes on the procedure. "
My response:
I'm not sure I fully understand, sorry. So I'll go step by step, ok? And if I'm wrong, please correct me
-> Now I have to develop the portlet locally.
-> It is possible to do it on a Mac.
-> I install Liferay and MySQL according to the instructions you just gave me
->I assume that, until this point, I have to follow the instructions from the web.
->then, wich connector should I use? On the documentation I see
but you told me to employ 1.5. What should I do? Where can I get the new version from?
-> in the LiferayPlugins SDFK I assume that I can follow the steps from the web.
-> In the Grid Engine section, I have to download GridEngine 1.5 instead of 1.4, ins't it? Where can I get it from?
-> In this section, are the rest of the steps identical to the described in the web?
-> is the "VPN sSetup to get access to the eTokenServer" procedure mandatory?
-> if so, you have to give me some certificate as stated in "n order to get the necessary certificates you have to contact us."
-> I don't understand the following warning and how it affects me
"Development #
WARNING For architectural reasons the constructor of GridEngine object must be declared differently than the portlet code written for the production environment. The constructor must be created with:"
Thanks for your attention,
Manuel
Last edit: Manuel Rodríguez-Pascual 2013-06-06
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
-> I install Liferay and MySQL according to the instructions you just gave me
Yes
->I assume that, until this point, I have to follow the instructions from the web.
Yes
->then, wich connector should I use? On the documentation I see
Download the mysql-connector from http://sourceforge.net/projects/ctsciencegtwys/files/catania-grid-engine/1.4.21/mysql-connector-java-5.1.13.jar/download and copy it in $LIFERAY_HOME/glassfish-3.1.2/domains/domain1/lib/
but you told me to employ 1.5. What should I do? Where can I get the new version from?
The connector is OK, 1.5 is the GridEngine version.
-> in the LiferayPlugins SDFK I assume that I can follow the steps from the web.
Yes
-> In the Grid Engine section, I have to download GridEngine 1.5 instead of 1.4, ins't it? Where can I get it from?
For the GridEngine 1.5 setup we will give you specific instruction. We count to send you the instructions by tomorrow
-> In this section, are the rest of the steps identical to the described in the web?
You can follow all the instructions on the wiki except the GridEngine section
-> is the "VPN sSetup to get access to the eTokenServer" procedure mandatory?
if you want to use the eTokenServer it's mandatory. Otherwise you should manually upload a proxy in your machine and properly modify your portlet code.
-> if so, you have to give me some certificate as stated in "n order to get the necessary certificates you have to contact us."
Yes
-> I don't understand the following warning and how it affects me
"Development #
WARNING For architectural reasons the constructor of GridEngine object must be declared differently than the portlet code written for the production environment. The constructor must be created with:"
When you work locally, you don't need to configure all the Glassfish env (thread-pool, DB connection, JNDI, etc.). Then, you must create the MultiInfrastructureJobSubmission object using the constructor requirying parameters for the connection DB.
Let me know if you need more clarification!
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You can put it where you want. It is needed to build & deploy the portlets.
After that you can start the GridEngine 1.5.0 setup. Below the instructions (these instruction replaces the GridEngine section in the wiki page, when you finish you could move to the section VPN Setup to get the access to the eTokenserver, skip the section about MyJob)
Copy the libraries gridengine-threadpools-1.0.0.jar and jsaga-job-management-1.5.0.jar in the lib folder of Liferay domain;
Copy the file GridEngineLogConfig.xml in the config folder of Liferay domain ($LIFERAY_HOME/glassfish-3.1.2/domains/domain1/config);
EUGRIDPMA and VOMSDIR certificates: execute the following instructions to create the /etc/grid-security/certificates and /etc/grid-security/vomsdir folders:
sudo mkdir -p /etc/grid-security
curl [http://grid.ct.infn.it/cron_files/grid_settings.tar.gz] > grid_settings.tar.gz
sudo tar xvfz grid_settings.tar.gz -C /etc/grid-security/
in the lib folder of Liferay domain ($LIFERAY_HOME/glassfish-3.1.2/domains/domain1/lib) you have to add also dom4j-1.6.1.jar. You can find this jar file at the link below:
I followed all the steps, but I keep getting an error when trying to access liferay portal.
14:51:23,913 ERROR [liferay/scheduler_dispatch-24][JDBCExceptionReporter:234] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
14:51:23,924 ERROR [liferay/scheduler_dispatch-24][ParallelDestination:117] Unable to process message {destinationName=liferay/scheduler_dispatch, response=null, responseDestinationName=null, responseId=null, payload=null, values={principalPassword=null, principalName=null, JOB_STATE=com.liferay.portal.kernel.scheduler.JobState@b74ba9, MESSAGE_LISTENER_CLASS_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, RECEIVER_KEY=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener.com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, MESSAGE_LISTENER_UUID=7a64296a-e562-41c4-935e-e9ea741bc6a2, CONTEXT_PATH=, EXCEPTIONS_MAX_SIZE=0, JOB_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, GROUP_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, PORTLET_ID=null, DESTINATION_NAME=liferay/scheduler_dispatch, companyId=0}}
com.liferay.portal.kernel.messaging.MessageListenerException: com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.SQLGrammarException: could not execute query
Any hint on this?
I have mysql correctly running and installed. I executed the DBSchema file yoy gave me, except I removed the first line (dropping the previous database) as I did not have a previous one.
As far as I know I have accomplished every step and did not face any error, everything worked OK.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I followed all the steps, but I keep getting an error when trying to access liferay portal.
14:51:23,913 ERROR [liferay/scheduler_dispatch-24][JDBCExceptionReporter:234] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
14:51:23,924 ERROR [liferay/scheduler_dispatch-24][ParallelDestination:117] Unable to process message {destinationName=liferay/scheduler_dispatch, response=null, responseDestinationName=null, responseId=null, payload=null, values={principalPassword=null, principalName=null, JOB_STATE=com.liferay.portal.kernel.scheduler.JobState@b74ba9, MESSAGE_LISTENER_CLASS_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, RECEIVER_KEY=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener.com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, MESSAGE_LISTENER_UUID=7a64296a-e562-41c4-935e-e9ea741bc6a2, CONTEXT_PATH=, EXCEPTIONS_MAX_SIZE=0, JOB_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, GROUP_NAME=com.liferay.portlet.blogs.messaging.CheckEntryMessageListener, PORTLET_ID=null, DESTINATION_NAME=liferay/scheduler_dispatch, companyId=0}}
com.liferay.portal.kernel.messaging.MessageListenerException: com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.SQLGrammarException: could not execute query
Any hint on this?
I have mysql correctly running and installed. I executed the DBSchema file yoy gave me, except I removed the first line (dropping the previous database) as I did not have a previous one.
As far as I know I have accomplished every step and did not face any error, everything worked OK.
Hi Manuel,
it seems an incompatibility problem of your mysql version.
Indeed, there is an incompatibility issue between MySQL5.6 and the jdbc-connector.jar provided by the liferay installation. The solution is move MySQL to <5.6.
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In the case that could be hard for you to downgrade your MySQL, it is possible to overcome this problem, downloading a newer version of mysql-connector.jar than the one described in the wiki. This could solve your problem for the current version of GridEngine for a while, but we cannot ensure you about the the compatibility of further GridEngine releases. In particular, the next incoming GridEngine will make use of hibernate libraries which will present again that problem once installed.
Regards,
Riccardo Bruno
INFN Sez. Catania
Via S.Sofia, 64
95123 Catania
Italy
Tel. +39-095-378-5517
Fax. +39-095-378-5518
Skype. ct-brunor
Hi Manuel,
it seems an incompatibility problem of your mysql version.
Indeed, there is an incompatibility issue between MySQL5.6 and the jdbc-connector.jar provided by the liferay installation. The solution is move MySQL to <5.6.
But "MyJob" portlet crashes. Is it normal? Is there anyway of checking for the job status? Do you want me to send you the log or something?
Also, in a previous question
'-> is the "VPN sSetup to get access to the eTokenServer" procedure mandatory?
if you want to use the eTokenServer it's mandatory. Otherwise you should manually upload a proxy in your machine and properly modify your portlet code.'
which alternative would you recommend me? In case that you recommend me to use my own proxy, how should I modify the portlet to make it work?
Thanks for your help,
Manuel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I had to increase the size of the -XX:MaxPermSize=512m and -XX:PermSize=256m from whatever the previous options were as I found that when I tried to load the MyJob portlet on the Liferay homepage, it crashed the Liferay server due to insufficient heap memory (I think). This may be in addition to the update that Diego mentions below.
Liam
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Please, check the job status looking inside the DB. We have to do a small update on MyJob to make it compliant with last GridEngine release.
We'll notify you not yet the update is available.
For your second question the best option is to use the VPN to get access to the eTokenServer.
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just another question regarding Liferay over Mac OS X
Sometimes, after restarting the server (for example, after a system shutdown) it does not work as expected. Instead, after starting the domain, a page appears with the following message
"Your server is now running
To replace this page, overwrite the file index.html in the document root folder of this server. The document root folder for this server is the docroot subdirectory of this server's domain directory.
To manage a server on the local host with the default administration port, go to the Administration Console.
"
which is the default page for the domain and is found at
/liferay-6.1/glassfish-3.1.2/domains/domain1/docroot7index.html
The admin page, in port 4848, works as expected.
It looks like Liferay is just not working, so glassfish just shows the default message. But it should be working, as it was OK just before restarting the server!
I have tried to reset the domain from the admin page (launghin, and reseting the application from the Applications menu) but it does not work.
I don't really know where the problem can be, but it makes working with Liferay impossible :(
Have you experienced a similar issue? Have you got any solution or suggestion? I am sure that it has an easy solution, but I cannot find it anywhere and it really slows down the development process.
Just for information, my system is:
Mac Os X 10.6.8
4 GB RAM
Intel Core 2 Duo, 2.2 GHz
Thanks for your help,
Manuel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The starting and stopping of the Liferay server can be frustrating, sometimes it runs in the background, but is "stopped", and as such I need to search for Java processes running in the background, kill those, and restart the process.
You can generally check if a domain is running using something like the following. I find using the command line to be more effective in dealing with the intricacies.
sh /opt/liferay-portal-6.1.1-ce-ga2/glassfish-3.1.2/bin/asadmin list-domains
Liam
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"submitJobCollection" from class JobCollectionSubmission is declared as private, or that is what I can see in Eclipse (I don't have access to the source code, just the .class).
However, on the "mi-collection-portlet" that Mario Torrisi sent me me, in line 1338, it is employed as:
(code has been a bit simplified to make easier to be read)
JobCollectionSubmission tmpJobCollectionSubmission = new JobCollectionSubmission(collection);
(...)
tmpJobCollectionSubmission.submitJobCollection(infrastructuresInfo, portalIPAddress, applicationId);
So after an "ant clean", the "ant deploy" won't compile the portlet
compile-java: [javac] Compiling 1 source file to /Applications/liferay-6.1/plugins_sdk/portlets/my-collection-portlet/docroot/WEB-INF/classes [javac] ---------- [javac] 1. ERROR in /Applications/liferay-6.1/plugins_sdk/portlets/my-collection-portlet/docroot/WEB-INF/src/it/infn/ct/mi_collection_portlet.java (at line 1338) [javac] tmpJobCollectionSubmission.submitJobCollection(infrastructuresInfo, [javac] ^^^^^^^^^^^^^^^^^^^ [javac] The method submitJobCollection(InfrastructureInfo[], String, int) from the type JobCollectionSubmission is not visible [javac] ---------- [javac] 1 problem (1 error)
Any ideas on this? Am I doing anything wrong?
Thanks for your help,
Manuel
Last edit: Manuel Rodríguez-Pascual 2013-07-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Manuel,
the right signature of the submitJobCollection method is:
public void submitJobCollection(InfrastructureInfo[] infrastructures,
String tcpAddress, int gridInteractionId)
looking your error it seems you are calling this method only with 2 input parameters:
"
the method submitJobCollection(InfrastructureInfo[], String, int) from the type JobCollectionSubmission is not visible
"
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So with the method being private, it raises a compiling error when executing "ant deploy" in my mac.
Maybe you are compiling it in a different way? Or the method is not private, and this is a problem on my laptop looking inside the .jar? have you employed OS X to compile portlets?
I am sure that this is a very easy to solve problem, but I don't know how to locate it :(
Best regards,
Manuel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After submitting a collection of tasks, this is what I get in the log:
[#|2013-07-26T11:36:34.452+0000|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=18;_ThreadName=Thread-5;|11:36:34,451 INFO [prottestParallel_portlet:108]
wmsHostList
wms://wms-lb.grid.unam.mx:7443/glite_wms_wmproxy_server
|#] [#|2013-07-26T11:36:34.453+0000|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=18;_ThreadName=Thread-5;|11:36:34,452 INFO [prottestParallel_portlet:108]
In your testing environment you should use the following constructor to create the MultiInfrastructureJobSubmission object:
public MultiInfrastructureJobSubmission(String db, String dbUser, String dbUserPwd)
e.g.:
MultiInfrastructureJobSubmission multiInfrastructureJobSubmission = new MultiInfrastructureJobSubmission("jdbc:mysql://localhost/userstracking","tracking_user","usertracking");
when we'll move to the production environment you should change it with the empty constructor:
public MultiInfrastructureJobSubmission()
to check the job status and download the output, you can use this patched version of the myjobs portlet:
MultiInfrastructureJobSubmission multiInfrastructureJobSubmission = new MultiInfrastructureJobSubmission("jdbc:mysql://localhost/userstracking","tracking_user","usertracking");
Let me know if you need more info.
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On the portlet examples that can be found on this web, they employ "MultiInfrastructureJobSubmission". However, in the parallel examples that Mario sent me, there was "GEJobDescription".
In my portlet I employed GEJobDescription, because I was modifying the portlet from Mario. Now I replaced it with "MultiInfrastructureJobSubmission", but there is a problem.
JobCollection needs an ArrayList<GEJobDescription> as input file. If I modify "descriptions" to be a MultiInfrastructureJobSubmission, the code will not compile.
so what should I do?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I am creating this post following Diego Scardacci instructions. My intention is to create a portlet which submits a group of tasks instead of a single one.
Diego's information:
My response:
Thanks for your attention,
Manuel
Last edit: Manuel Rodríguez-Pascual 2013-06-06
Hi Manuel,
below my answers:
-> Now I have to develop the portlet locally.
Yes
-> It is possible to do it on a Mac.
Yes
-> I install Liferay and MySQL according to the instructions you just gave me
Yes
->I assume that, until this point, I have to follow the instructions from the web.
Yes
->then, wich connector should I use? On the documentation I see
but you told me to employ 1.5. What should I do? Where can I get the new version from?
The connector is OK, 1.5 is the GridEngine version.
-> in the LiferayPlugins SDFK I assume that I can follow the steps from the web.
Yes
-> In the Grid Engine section, I have to download GridEngine 1.5 instead of 1.4, ins't it? Where can I get it from?
For the GridEngine 1.5 setup we will give you specific instruction. We count to send you the instructions by tomorrow
-> In this section, are the rest of the steps identical to the described in the web?
You can follow all the instructions on the wiki except the GridEngine section
-> is the "VPN sSetup to get access to the eTokenServer" procedure mandatory?
if you want to use the eTokenServer it's mandatory. Otherwise you should manually upload a proxy in your machine and properly modify your portlet code.
-> if so, you have to give me some certificate as stated in "n order to get the necessary certificates you have to contact us."
Yes
-> I don't understand the following warning and how it affects me
When you work locally, you don't need to configure all the Glassfish env (thread-pool, DB connection, JNDI, etc.). Then, you must create the MultiInfrastructureJobSubmission object using the constructor requirying parameters for the connection DB.
Let me know if you need more clarification!
Cheers,
Diego
It's ok until I reach:
"Liferay Plugins SDK"
I download the plugin, ok. And then, what do I do with it? Place it where?
You can put it where you want. It is needed to build & deploy the portlets.
After that you can start the GridEngine 1.5.0 setup. Below the instructions (these instruction replaces the GridEngine section in the wiki page, when you finish you could move to the section VPN Setup to get the access to the eTokenserver, skip the section about MyJob)
Download the jar files:
https://sourceforge.net/p/ctsciencegtwys/liferay/HEAD/tree/trunk/core/GridEngine/lib/jsaga-job-management-1.5.0.jar
&
https://sourceforge.net/p/ctsciencegtwys/liferay/HEAD/tree/trunk/core/GridEngine/lib/gridengine-threadpools-1.0.0.jar
Download the DB schema:
https://sourceforge.net/p/ctsciencegtwys/liferay/HEAD/tree/trunk/core/GridEngine/UsersTrackingDB/UsersTrackingDB.sql
Download the Config file:
https://sourceforge.net/p/ctsciencegtwys/liferay/HEAD/tree/trunk/core/GridEngine/config/GridEngineLogConfig.xml
Download the last JSAGA snapshot from http://grid.in2p3.fr/maven2/fr/in2p3/jsaga/jsaga-installer/0.9.16-SNAPSHOT/
Download the hibernate libraries:
https://www.dropbox.com/s/c6fnsdxof2c54l8/hibernate_lib.tar.gz
Stop liferay: $LIFERAY_HOME/glassfish-3.1.2/bin/asadmin stop-domain domain1
Create the DB: mysql -u root < UsersTrackingDB/UsersTrackingDB.sql
Copy all JSAGA JARs in the lib folder of Liferay domain ($LIFERAY_HOME/glassfish-3.1.2/domains/domain1/lib) except:
Copy Hibernate 3.6.10 libraries in the lib folder of Liferay domain:
Copy the libraries gridengine-threadpools-1.0.0.jar and jsaga-job-management-1.5.0.jar in the lib folder of Liferay domain;
Copy the file GridEngineLogConfig.xml in the config folder of Liferay domain ($LIFERAY_HOME/glassfish-3.1.2/domains/domain1/config);
EUGRIDPMA and VOMSDIR certificates: execute the following instructions to create the /etc/grid-security/certificates and /etc/grid-security/vomsdir folders:
sudo mkdir -p /etc/grid-security
curl [http://grid.ct.infn.it/cron_files/grid_settings.tar.gz] > grid_settings.tar.gz
sudo tar xvfz grid_settings.tar.gz -C /etc/grid-security/
Start Liferay: $LIFERAY_HOME/glassfish-3.1.2/bin/asadmin stop-domain domain1
Ciao,
Diego
Hi Manuel,
in the lib folder of Liferay domain ($LIFERAY_HOME/glassfish-3.1.2/domains/domain1/lib) you have to add also dom4j-1.6.1.jar. You can find this jar file at the link below:
https://sourceforge.net/projects/dom4j/files/dom4j/1.6.1/
Ciao.
Hi,
I followed all the steps, but I keep getting an error when trying to access liferay portal.
Any hint on this?
I have mysql correctly running and installed. I executed the DBSchema file yoy gave me, except I removed the first line (dropping the previous database) as I did not have a previous one.
As far as I know I have accomplished every step and did not face any error, everything worked OK.
You have a too new MySQL version (5.6 if I do remember well). Please downgrade with a version compliant to what depicted in the wiki instructions.
Regards,
Riccardo Bruno
INFN Sez. Catania
Via S.Sofia, 64
95123 Catania
Italy
Tel. +39-095-378-5517
Fax. +39-095-378-5518
Skype. ct-brunor
On 07/giu/2013, at 16:55, Manuel Rodríguez-Pascual supermanue@users.sf.net wrote:
Hi Manuel,
it seems an incompatibility problem of your mysql version.
Indeed, there is an incompatibility issue between MySQL5.6 and the jdbc-connector.jar provided by the liferay installation. The solution is move MySQL to <5.6.
Cheers,
Diego
Manuel,
In the case that could be hard for you to downgrade your MySQL, it is possible to overcome this problem, downloading a newer version of mysql-connector.jar than the one described in the wiki. This could solve your problem for the current version of GridEngine for a while, but we cannot ensure you about the the compatibility of further GridEngine releases. In particular, the next incoming GridEngine will make use of hibernate libraries which will present again that problem once installed.
Regards,
Riccardo Bruno
INFN Sez. Catania
Via S.Sofia, 64
95123 Catania
Italy
Tel. +39-095-378-5517
Fax. +39-095-378-5518
Skype. ct-brunor
On 10/giu/2013, at 20:32, Diego Scardaci dscardaci@users.sf.net wrote:
Information about the MySQL compatibility added in the wiki page.
Cheers,
Diego
Hi all,
Do you have an available plugin template that submits and controls the execution of more than one task at the same time?
Thanks for your help,
Manuel
Hi,
Hi,
just a couple of quick questions,
First, I am trying a simple example to check whether everything is correctly configured,
http://gilda.ct.infn.it/wikimain?p_p_id=54_INSTANCE_t9W0&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_54_INSTANCE_t9W0_struts_action=%2Fwiki_display%2Fview&_54_INSTANCE_t9W0_nodeName=Main&_54_INSTANCE_t9W0_title=MyFirstGridPortlet
But "MyJob" portlet crashes. Is it normal? Is there anyway of checking for the job status? Do you want me to send you the log or something?
Also, in a previous question
'-> is the "VPN sSetup to get access to the eTokenServer" procedure mandatory?
if you want to use the eTokenServer it's mandatory. Otherwise you should manually upload a proxy in your machine and properly modify your portlet code.'
which alternative would you recommend me? In case that you recommend me to use my own proxy, how should I modify the portlet to make it work?
Thanks for your help,
Manuel
Hi Manuel
I had to increase the size of the -XX:MaxPermSize=512m and -XX:PermSize=256m from whatever the previous options were as I found that when I tried to load the MyJob portlet on the Liferay homepage, it crashed the Liferay server due to insufficient heap memory (I think). This may be in addition to the update that Diego mentions below.
Liam
Please, check the job status looking inside the DB. We have to do a small update on MyJob to make it compliant with last GridEngine release.
We'll notify you not yet the update is available.
For your second question the best option is to use the VPN to get access to the eTokenServer.
Cheers,
Diego
Hi Diego,
In that case, would it be possible to get an access to the VPN? Could you mail me the instructions or whatever is needed?
I have a parallel portlet ready to test :)
Thanks,
Manuel
Great Manuel,
please, follow the instruction in the wiki to get vpn access:
https://gilda.ct.infn.it/wikimain?p_p_id=54_INSTANCE_t9W0&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_54_INSTANCE_t9W0_struts_action=/wiki_display/view&_54_INSTANCE_t9W0_nodeName=Main&_54_INSTANCE_t9W0_title=DevelopmentEnvironment
Translating: send a mail to sg-licence@ct.infn.it :)
Just another question regarding Liferay over Mac OS X
Sometimes, after restarting the server (for example, after a system shutdown) it does not work as expected. Instead, after starting the domain, a page appears with the following message
"Your server is now running
To replace this page, overwrite the file index.html in the document root folder of this server. The document root folder for this server is the docroot subdirectory of this server's domain directory.
To manage a server on the local host with the default administration port, go to the Administration Console.
"
which is the default page for the domain and is found at
/liferay-6.1/glassfish-3.1.2/domains/domain1/docroot7index.html
The admin page, in port 4848, works as expected.
It looks like Liferay is just not working, so glassfish just shows the default message. But it should be working, as it was OK just before restarting the server!
I have tried to reset the domain from the admin page (launghin, and reseting the application from the Applications menu) but it does not work.
I don't really know where the problem can be, but it makes working with Liferay impossible :(
Have you experienced a similar issue? Have you got any solution or suggestion? I am sure that it has an easy solution, but I cannot find it anywhere and it really slows down the development process.
Just for information, my system is:
Mac Os X 10.6.8
4 GB RAM
Intel Core 2 Duo, 2.2 GHz
Thanks for your help,
Manuel
Hi Manuel
The starting and stopping of the Liferay server can be frustrating, sometimes it runs in the background, but is "stopped", and as such I need to search for Java processes running in the background, kill those, and restart the process.
You can generally check if a domain is running using something like the following. I find using the command line to be more effective in dealing with the intricacies.
sh /opt/liferay-portal-6.1.1-ce-ga2/glassfish-3.1.2/bin/asadmin list-domains
Liam
I think that was the error, thanks Liam!
One more question,
"submitJobCollection" from class JobCollectionSubmission is declared as private, or that is what I can see in Eclipse (I don't have access to the source code, just the .class).
However, on the "mi-collection-portlet" that Mario Torrisi sent me me, in line 1338, it is employed as:
(code has been a bit simplified to make easier to be read)
So after an "ant clean", the "ant deploy" won't compile the portlet
Any ideas on this? Am I doing anything wrong?
Thanks for your help,
Manuel
Last edit: Manuel Rodríguez-Pascual 2013-07-24
Hi Manuel,
the right signature of the submitJobCollection method is:
public void submitJobCollection(InfrastructureInfo[] infrastructures,
String tcpAddress, int gridInteractionId)
looking your error it seems you are calling this method only with 2 input parameters:
"
the method submitJobCollection(InfrastructureInfo[], String, int) from the type JobCollectionSubmission is not visible
"
Cheers,
Diego
I am calling it with 3 input parameters. In fact the code I posted was from Mario's example:
all having the appropriate variable type.
Looking at the .class of JobCollectionSubmission, which is part of
what I see is:
(besides getters, setters and a main method)
So with the method being private, it raises a compiling error when executing "ant deploy" in my mac.
Maybe you are compiling it in a different way? Or the method is not private, and this is a problem on my laptop looking inside the .jar? have you employed OS X to compile portlets?
I am sure that this is a very easy to solve problem, but I don't know how to locate it :(
Best regards,
Manuel
Manuel, you should update your GridEngine version from 1.5.0 to 1.5.2.
To do it firstly you should update it to 1.5.1 following the instruction in the wiki page:
https://gilda.ct.infn.it/wikimain?p_p_id=54_INSTANCE_t9W0&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_count=1&_54_INSTANCE_t9W0_struts_action=%2Fwiki_display%2Fview&_54_INSTANCE_t9W0_nodeName=Main&_54_INSTANCE_t9W0_title=DevelopmentEnvironment
after theh follow this instruction to upgrade to 1.5.2:
- download the 1.5.2 jar from https://sourceforge.net/p/ctsciencegtwys/liferay/534/tree/trunk/core/GridEngine/lib/
- change the symbolic link to point to the new version:
$ cd /opt/GridEngine/lib/
$ ll jsaga-job-management.jar
lrwxrwxrwx 1 root root 30 Jul 23 11:10 jsaga-job-management.jar -> jsaga-job-management-1.5.2.jar
- Updating the DB using the JobDescription.sql script (https://sourceforge.net/p/ctsciencegtwys/liferay/534/tree/trunk/core/GridEngine/UsersTrackingDB/):
$ mysql -u root -p userstracking < JobDescription.sql
delete the old entries in the ActiveGridInteractions table
restart glassfish
Cheers,
Diego
Hi,
I think I nearly have it :)
After submitting a collection of tasks, this is what I get in the log:
And then it repeats one per task:
Is it correct?
How can I know whether my tasks are being executed, their status and output?
Also, when they are all finished, there is a second step of postprocess of output files and cleaning of temporary files. Where should it be performed?
Thanks for your help,
Manuel
Hi Manuel,
you're very close...
In your testing environment you should use the following constructor to create the MultiInfrastructureJobSubmission object:
public MultiInfrastructureJobSubmission(String db, String dbUser, String dbUserPwd)
e.g.:
MultiInfrastructureJobSubmission multiInfrastructureJobSubmission = new MultiInfrastructureJobSubmission("jdbc:mysql://localhost/userstracking","tracking_user","usertracking");
when we'll move to the production environment you should change it with the empty constructor:
public MultiInfrastructureJobSubmission()
to check the job status and download the output, you can use this patched version of the myjobs portlet:
MultiInfrastructureJobSubmission multiInfrastructureJobSubmission = new MultiInfrastructureJobSubmission("jdbc:mysql://localhost/userstracking","tracking_user","usertracking");
Let me know if you need more info.
Cheers,
Diego
hi Diego,
There is a thing I don't understand.
On the portlet examples that can be found on this web, they employ "MultiInfrastructureJobSubmission". However, in the parallel examples that Mario sent me, there was "GEJobDescription".
In my portlet I employed GEJobDescription, because I was modifying the portlet from Mario. Now I replaced it with "MultiInfrastructureJobSubmission", but there is a problem.
JobCollection needs an ArrayList<GEJobDescription> as input file. If I modify "descriptions" to be a MultiInfrastructureJobSubmission, the code will not compile.
so what should I do?