You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-user@incubator.apache.org by Mingfan Lu <mi...@gmail.com> on 2009/09/28 06:58:36 UTC

Dead lock found exception

In my benchmark, I found that there is a dead lock exception.

exception 'PDOException' with message 'SQLSTATE[40001]: Serialization
failure: 1213 Deadlock found when trying to get lock; try restarting
transaction' in
/opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php:77\nStack
trace:\n#0
/opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php(77):
PDO->exec('insert into ADD...')\n#1
/opt/faban/faban/apache-olio-php/oliophp/public_html/addPersonResult.php(79):
PDOConnection->exec('insert into ADD...')\n#2 {main}

According to the source code, it throws by

$insertaddr = "insert into ADDRESS (street1, street2, city, state, zip,
country, latitude, longitude) ".
                      "values ('$strt1', '$street2', '$cty', '$state',
'$zip', '$country', ".
                      "'$geocode->latitude', '$geocode->longitude')";
$connection->beginTransaction();
$connection->exec($insertaddr);

There is not other index but btree index.
Will we modify the insert to "insert ignore" ?

RE: Java doAddEvent failing in workload

Posted by James Zubb <jz...@vmware.com>.
That fixed it.

thanks,

james

________________________________
From: Kim.Lichong@Sun.COM [mailto:Kim.Lichong@Sun.COM]
Sent: Monday, October 05, 2009 12:04 PM
To: olio-user@incubator.apache.org
Subject: Re: Java doAddEvent failing in workload

Hi James,

Can you do me a favor and verify if this works for you?  You will save me some time in setting a new configuration :)

After line 514, can you add the following line:

params.add(new StringPart("timezone", parameters[5])); //timezone

then rebuild and deploy the driver?

thanks,

Kim


i.e.

817435      public void doAddEvent() throws IOException {
497 :                 logger.finer("doAddEvent");
498 :                 ctx.recordTime();
499 :                 http.readURL(addEventURL);
500 :                 loadStatics(addEventStatics);
501 :                 if(isLoggedOn) {
502 :              // Prepare the parts for the request.
503 :             ArrayList<Part> params = new ArrayList<Part>();
504 :             818271     String[] parameters = prepareEvent();
505 :                 if (parameters[0] == null || parameters[0].length() == 0)
506 :                 logger.warning("Socialevent title is null!");
507 :                 else
508 :                 logger.finer("addEvent adding event title: " + parameters[0]);
509 :
510 :                 params.add(new StringPart("title", parameters[0])); //title
511 :                 params.add(new StringPart("summary", parameters[1])); // summary
512 :                 params.add(new StringPart("description", parameters[2])); // description
513 :                 params.add(new StringPart("submitter_user_name", parameters[3]));
514 :                 params.add(new StringPart("telephone", parameters[4])); //phone
---------->           params.add(new StringPart("timezone", parameters[5])); //timezone
515 :                 params.add(new StringPart("year", parameters[6]));
Hi James,

It seems like there is a bug introduced with the recent checkin of the Java driver.  It is missing a parameter for timezone in the doAddEvent although the prepareEvent does populate a field for timezone.

Can you file a bug on this please?

Thanks,

Kim




I am having issues with the latest Java code.  I am getting 100% failure for adding events when running the workload.  I AM able to add events manually without error.  Everything was working with the code I checked out about 2 weeks ago.
I am running on:

CentOS 5.3
Faban-kit-091109
Glassfish v2.1
Java SE 6 u16


Here is the error from the driver:

Message:
UIDriverAgent[0].36.doAddEvent: Multipart Post did not work, returned status code: 500

Exception:
Message:
java.io.IOException: Multipart Post did not work, returned status code: 500

Stack Trace:
Class     Method     Line
org.apache.olio.workload.driver.UIDriver     doMultiPartPost     870
org.apache.olio.workload.driver.UIDriver     doAddEvent     541
sun.reflect.GeneratedMethodAccessor9     invoke      sun.reflect.DelegatingMethodAccessorImpl     invoke     25
java.lang.reflect.Method     invoke     597
com.sun.faban.driver.engine.TimeThread     doRun     169
com.sun.faban.driver.engine.AgentThread     run     201


I am also getting this error in the server.log (timestamp corresponds to the timestamp of the driver error):

[#|2009-10-05T10:45:10.945-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=h
ttpSSLWorkerThread-8080-4;_RequestID=90409951-fe84-46c8-abf4-86fea4b5831a;|StandardWrapperValve[ControllerServlet]: PWC1
406: Servlet.service() for servlet ControllerServlet threw exception
java.lang.NullPointerException
        at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:692)
        at java.util.TimeZone.getTimeZone(TimeZone.java:471)
        at java.util.TimeZone.getTimeZone(TimeZone.java:465)
        at org.apache.olio.webapp.rest.EventRestAction.createEvent(EventRestAction.java:329)
        at org.apache.olio.webapp.rest.EventRestAction.process(EventRestAction.java:108)
        at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
        at org.apache.olio.webapp.controller.ControllerServlet.doPost(ControllerServlet.java:103)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#]




Re: Java doAddEvent failing in workload

Posted by Shanti Subramanyam - PAE <Sh...@Sun.COM>.
This is my fault. I missed the update to the app for the timezone and 
was testing with the older version and so the new driver works for me.
Kim - I will take care of this fix as I have other minor pending fixes 
to the driver.

Shanti

On 10/05/09 12:04, Kim LiChong wrote:
> Hi James,
> 
> Can you do me a favor and verify if this works for you?  You will save 
> me some time in setting a new configuration :)
> 
> After line 514, can you add the following line: 
> 
> params.add(new StringPart("timezone", parameters[5])); //timezone
> 
> then rebuild and deploy the driver?
> 
> thanks,
> 
> Kim
> 
> 
> i.e.
> 
> 817435      public void doAddEvent() throws IOException {
> 497 :                 logger.finer("doAddEvent");
> 498 :                 ctx.recordTime();
> 499 :                 http.readURL(addEventURL);
> 500 :                 loadStatics(addEventStatics);
> 501 :                 if(isLoggedOn) {
> 502 :              // Prepare the parts for the request.
> 503 :             ArrayList<Part> params = new ArrayList<Part>();
> 504 :             818271     String[] parameters = prepareEvent();
> 505 :                 if (parameters[0] == null || 
> parameters[0].length() == 0)
> 506 :                 logger.warning("Socialevent title is null!");
> 507 :                 else
> 508 :                 logger.finer("addEvent adding event title: " + 
> parameters[0]);
> 509 :        
> 510 :                 params.add(new StringPart("title", 
> parameters[0])); //title
> 511 :                 params.add(new StringPart("summary", 
> parameters[1])); // summary
> 512 :                 params.add(new StringPart("description", 
> parameters[2])); // description
> 513 :                 params.add(new StringPart("submitter_user_name", 
> parameters[3]));
> 514 :                 params.add(new StringPart("telephone", 
> parameters[4])); //phone
> *---------->           params.add(new StringPart("timezone", 
> parameters[5])); //timezone *
> 515 :                 params.add(new StringPart("year", parameters[6]));
>> Hi James,
>>
>> It seems like there is a bug introduced with the recent checkin of the 
>> Java driver.  It is missing a parameter for timezone in the doAddEvent 
>> although the prepareEvent does populate a field for timezone.
>>
>> Can you file a bug on this please?
>>
>> Thanks,
>>
>> Kim
>>
>>
>>
>>
>>> I am having issues with the latest Java code.  I am getting 100% 
>>> failure for adding events when running the workload.  I AM able to 
>>> add events manually without error.  Everything was working with the 
>>> code I checked out about 2 weeks ago. 
>>> I am running on:
>>>
>>> CentOS 5.3
>>> Faban-kit-091109
>>> Glassfish v2.1
>>> Java SE 6 u16
>>>
>>>
>>> Here is the error from the driver:
>>>
>>> Message:
>>> UIDriverAgent[0].36.doAddEvent: Multipart Post did not work, returned 
>>> status code: 500
>>>
>>> Exception:
>>> Message:
>>> java.io.IOException: Multipart Post did not work, returned status 
>>> code: 500
>>>
>>> Stack Trace:
>>> Class     Method     Line
>>> org.apache.olio.workload.driver.UIDriver     doMultiPartPost     870
>>> org.apache.olio.workload.driver.UIDriver     doAddEvent     541
>>> sun.reflect.GeneratedMethodAccessor9     invoke      
>>> sun.reflect.DelegatingMethodAccessorImpl     invoke     25
>>> java.lang.reflect.Method     invoke     597
>>> com.sun.faban.driver.engine.TimeThread     doRun     169
>>> com.sun.faban.driver.engine.AgentThread     run     201
>>>
>>>
>>> I am also getting this error in the server.log (timestamp corresponds 
>>> to the timestamp of the driver error):
>>>
>>> [#|2009-10-05T10:45:10.945-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=h 
>>>
>>> ttpSSLWorkerThread-8080-4;_RequestID=90409951-fe84-46c8-abf4-86fea4b5831a;|StandardWrapperValve[ControllerServlet]: 
>>> PWC1
>>> 406: Servlet.service() for servlet ControllerServlet threw exception
>>> java.lang.NullPointerException
>>>         at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:692)
>>>         at java.util.TimeZone.getTimeZone(TimeZone.java:471)
>>>         at java.util.TimeZone.getTimeZone(TimeZone.java:465)
>>>         at 
>>> org.apache.olio.webapp.rest.EventRestAction.createEvent(EventRestAction.java:329) 
>>>
>>>         at 
>>> org.apache.olio.webapp.rest.EventRestAction.process(EventRestAction.java:108) 
>>>
>>>         at 
>>> org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61) 
>>>
>>>         at 
>>> org.apache.olio.webapp.controller.ControllerServlet.doPost(ControllerServlet.java:103) 
>>>
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>         at 
>>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>>
>>>         at 
>>> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>>>         at 
>>> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
>>>
>>>         at 
>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>>>         at 
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>>
>>>         at 
>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
>>>
>>>         at 
>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>>>         at 
>>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) 
>>>
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>>>         at 
>>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) 
>>>
>>> |#]
>>>   
>>
> 

Re: Java doAddEvent failing in workload

Posted by Kim LiChong <Ki...@Sun.COM>.
Hi James,

Can you do me a favor and verify if this works for you?  You will save 
me some time in setting a new configuration :)

After line 514, can you add the following line: 

params.add(new StringPart("timezone", parameters[5])); //timezone

then rebuild and deploy the driver?

thanks,

Kim


i.e.

817435      public void doAddEvent() throws IOException {
497 :                 logger.finer("doAddEvent");
498 :                 ctx.recordTime();
499 :                 http.readURL(addEventURL);
500 :                 loadStatics(addEventStatics);
501 :                 if(isLoggedOn) {
502 :              // Prepare the parts for the request.
503 :             ArrayList<Part> params = new ArrayList<Part>();
504 :             818271     String[] parameters = prepareEvent();
505 :                 if (parameters[0] == null || 
parameters[0].length() == 0)
506 :                 logger.warning("Socialevent title is null!");
507 :                 else
508 :                 logger.finer("addEvent adding event title: " + 
parameters[0]);
509 :        
510 :                 params.add(new StringPart("title", 
parameters[0])); //title
511 :                 params.add(new StringPart("summary", 
parameters[1])); // summary
512 :                 params.add(new StringPart("description", 
parameters[2])); // description
513 :                 params.add(new StringPart("submitter_user_name", 
parameters[3]));
514 :                 params.add(new StringPart("telephone", 
parameters[4])); //phone
*---------->           params.add(new StringPart("timezone", 
parameters[5])); //timezone *
515 :                 params.add(new StringPart("year", parameters[6]));
> Hi James,
>
> It seems like there is a bug introduced with the recent checkin of the 
> Java driver.  It is missing a parameter for timezone in the doAddEvent 
> although the prepareEvent does populate a field for timezone.
>
> Can you file a bug on this please?
>
> Thanks,
>
> Kim
>
>
>
>
>> I am having issues with the latest Java code.  I am getting 100% 
>> failure for adding events when running the workload.  I AM able to 
>> add events manually without error.  Everything was working with the 
>> code I checked out about 2 weeks ago. 
>> I am running on:
>>
>> CentOS 5.3
>> Faban-kit-091109
>> Glassfish v2.1
>> Java SE 6 u16
>>
>>
>> Here is the error from the driver:
>>
>> Message:
>> UIDriverAgent[0].36.doAddEvent: Multipart Post did not work, returned 
>> status code: 500
>>
>> Exception:
>> Message:
>> java.io.IOException: Multipart Post did not work, returned status 
>> code: 500
>>
>> Stack Trace:
>> Class     Method     Line
>> org.apache.olio.workload.driver.UIDriver     doMultiPartPost     870
>> org.apache.olio.workload.driver.UIDriver     doAddEvent     541
>> sun.reflect.GeneratedMethodAccessor9     invoke      
>> sun.reflect.DelegatingMethodAccessorImpl     invoke     25
>> java.lang.reflect.Method     invoke     597
>> com.sun.faban.driver.engine.TimeThread     doRun     169
>> com.sun.faban.driver.engine.AgentThread     run     201
>>
>>
>> I am also getting this error in the server.log (timestamp corresponds 
>> to the timestamp of the driver error):
>>
>> [#|2009-10-05T10:45:10.945-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=h 
>>
>> ttpSSLWorkerThread-8080-4;_RequestID=90409951-fe84-46c8-abf4-86fea4b5831a;|StandardWrapperValve[ControllerServlet]: 
>> PWC1
>> 406: Servlet.service() for servlet ControllerServlet threw exception
>> java.lang.NullPointerException
>>         at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:692)
>>         at java.util.TimeZone.getTimeZone(TimeZone.java:471)
>>         at java.util.TimeZone.getTimeZone(TimeZone.java:465)
>>         at 
>> org.apache.olio.webapp.rest.EventRestAction.createEvent(EventRestAction.java:329) 
>>
>>         at 
>> org.apache.olio.webapp.rest.EventRestAction.process(EventRestAction.java:108) 
>>
>>         at 
>> org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61) 
>>
>>         at 
>> org.apache.olio.webapp.controller.ControllerServlet.doPost(ControllerServlet.java:103) 
>>
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>         at 
>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) 
>>
>>         at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) 
>>
>>         at 
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) 
>>
>>         at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>
>>         at 
>> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>>         at 
>> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) 
>>
>>         at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
>>
>>         at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>>         at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) 
>>
>>         at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) 
>>
>>         at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>>         at 
>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) 
>>
>>         at 
>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>>         at 
>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) 
>>
>> |#]
>>   
>


Re: Java doAddEvent failing in workload

Posted by Kim LiChong <Ki...@Sun.COM>.
Hi James,

It seems like there is a bug introduced with the recent checkin of the 
Java driver.  It is missing a parameter for timezone in the doAddEvent 
although the prepareEvent does populate a field for timezone.

Can you file a bug on this please?

Thanks,

Kim




> I am having issues with the latest Java code.  I am getting 100% failure for adding events when running the workload.  I AM able to add events manually without error.  Everything was working with the code I checked out about 2 weeks ago.  
>
> I am running on:
>
> CentOS 5.3
> Faban-kit-091109
> Glassfish v2.1
> Java SE 6 u16
>
>
> Here is the error from the driver:
>
> Message:
> UIDriverAgent[0].36.doAddEvent: Multipart Post did not work, returned status code: 500
>
> Exception:
> Message:
> java.io.IOException: Multipart Post did not work, returned status code: 500
>
> Stack Trace:
> Class 	Method 	Line
> org.apache.olio.workload.driver.UIDriver 	doMultiPartPost 	870
> org.apache.olio.workload.driver.UIDriver 	doAddEvent 	541
> sun.reflect.GeneratedMethodAccessor9 	invoke 	 
> sun.reflect.DelegatingMethodAccessorImpl 	invoke 	25
> java.lang.reflect.Method 	invoke 	597
> com.sun.faban.driver.engine.TimeThread 	doRun 	169
> com.sun.faban.driver.engine.AgentThread 	run 	201
>
>
> I am also getting this error in the server.log (timestamp corresponds to the timestamp of the driver error):
>
> [#|2009-10-05T10:45:10.945-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=h
> ttpSSLWorkerThread-8080-4;_RequestID=90409951-fe84-46c8-abf4-86fea4b5831a;|StandardWrapperValve[ControllerServlet]: PWC1
> 406: Servlet.service() for servlet ControllerServlet threw exception
> java.lang.NullPointerException
>         at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:692)
>         at java.util.TimeZone.getTimeZone(TimeZone.java:471)
>         at java.util.TimeZone.getTimeZone(TimeZone.java:465)
>         at org.apache.olio.webapp.rest.EventRestAction.createEvent(EventRestAction.java:329)
>         at org.apache.olio.webapp.rest.EventRestAction.process(EventRestAction.java:108)
>         at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
>         at org.apache.olio.webapp.controller.ControllerServlet.doPost(ControllerServlet.java:103)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
>         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
>         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
>         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
>         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
>         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
>         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
>   


Java doAddEvent failing in workload

Posted by James Zubb <jz...@vmware.com>.
I am having issues with the latest Java code.  I am getting 100% failure for adding events when running the workload.  I AM able to add events manually without error.  Everything was working with the code I checked out about 2 weeks ago.  

I am running on:

CentOS 5.3
Faban-kit-091109
Glassfish v2.1
Java SE 6 u16


Here is the error from the driver:

Message:
UIDriverAgent[0].36.doAddEvent: Multipart Post did not work, returned status code: 500

Exception:
Message:
java.io.IOException: Multipart Post did not work, returned status code: 500

Stack Trace:
Class 	Method 	Line
org.apache.olio.workload.driver.UIDriver 	doMultiPartPost 	870
org.apache.olio.workload.driver.UIDriver 	doAddEvent 	541
sun.reflect.GeneratedMethodAccessor9 	invoke 	 
sun.reflect.DelegatingMethodAccessorImpl 	invoke 	25
java.lang.reflect.Method 	invoke 	597
com.sun.faban.driver.engine.TimeThread 	doRun 	169
com.sun.faban.driver.engine.AgentThread 	run 	201


I am also getting this error in the server.log (timestamp corresponds to the timestamp of the driver error):

[#|2009-10-05T10:45:10.945-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=h
ttpSSLWorkerThread-8080-4;_RequestID=90409951-fe84-46c8-abf4-86fea4b5831a;|StandardWrapperValve[ControllerServlet]: PWC1
406: Servlet.service() for servlet ControllerServlet threw exception
java.lang.NullPointerException
        at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:692)
        at java.util.TimeZone.getTimeZone(TimeZone.java:471)
        at java.util.TimeZone.getTimeZone(TimeZone.java:465)
        at org.apache.olio.webapp.rest.EventRestAction.createEvent(EventRestAction.java:329)
        at org.apache.olio.webapp.rest.EventRestAction.process(EventRestAction.java:108)
        at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
        at org.apache.olio.webapp.controller.ControllerServlet.doPost(ControllerServlet.java:103)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#]

Re: Dead lock found exception

Posted by Akara Sucharitakul <Ak...@Sun.COM>.
Looks like this page:

http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html

does explain somewhat how deadlocks could happen in our scenario - lock 
on insert.

"InnoDB uses automatic row-level locking. You can get deadlocks even in 
the case of transactions that just insert or delete a single row. That 
is because these operations are not really “atomic”; they automatically 
set locks on the (possibly several) index records of the row inserted or 
deleted."

It would be good to follow the instructions on the page, run SHOW ENGINE 
INNODB STATUS, and share the outcome. Thanks.

-Akara

Mingfan Lu wrote:
> Yes I am using Olio 0.1
> 
> On Tue, Sep 29, 2009 at 2:21 AM, Akara Sucharitakul 
> <Akara.Sucharitakul@sun.com <ma...@sun.com>> wrote:
> 
>     Even duplicate addresses generate a new PK. I do not quite
>     understand how the deadlock could happen. It looks like something is
>     trying to lock the table rather than the record. This is the Olio
>     0.1 publicly available, right?
> 
>     -Akara
> 
> 
>     Mingfan Lu wrote:
> 
>         In my benchmark, I found that there is a dead lock exception.
> 
>         exception 'PDOException' with message 'SQLSTATE[40001]:
>         Serialization failure: 1213 Deadlock found when trying to get
>         lock; try restarting transaction' in
>         /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php:77\nStack
>         trace:\n#0
>         /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php(77):
>         PDO->exec('insert into ADD...')\n#1
>         /opt/faban/faban/apache-olio-php/oliophp/public_html/addPersonResult.php(79):
>         PDOConnection->exec('insert into ADD...')\n#2 {main}
> 
>         According to the source code, it throws by
> 
>         $insertaddr = "insert into ADDRESS (street1, street2, city,
>         state, zip, country, latitude, longitude) ".
>                              "values ('$strt1', '$street2', '$cty',
>         '$state', '$zip', '$country', ".
>                              "'$geocode->latitude', '$geocode->longitude')";
>         $connection->beginTransaction();
>         $connection->exec($insertaddr);
> 
>         There is not other index but btree index.
>         Will we modify the insert to "insert ignore" ?
> 
> 
> 


Re: Dead lock found exception

Posted by Mingfan Lu <mi...@gmail.com>.
Yes I am using Olio 0.1

On Tue, Sep 29, 2009 at 2:21 AM, Akara Sucharitakul <
Akara.Sucharitakul@sun.com> wrote:

> Even duplicate addresses generate a new PK. I do not quite understand how
> the deadlock could happen. It looks like something is trying to lock the
> table rather than the record. This is the Olio 0.1 publicly available,
> right?
>
> -Akara
>
>
> Mingfan Lu wrote:
>
>> In my benchmark, I found that there is a dead lock exception.
>>
>> exception 'PDOException' with message 'SQLSTATE[40001]: Serialization
>> failure: 1213 Deadlock found when trying to get lock; try restarting
>> transaction' in
>> /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php:77\nStack
>> trace:\n#0
>> /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php(77):
>> PDO->exec('insert into ADD...')\n#1
>> /opt/faban/faban/apache-olio-php/oliophp/public_html/addPersonResult.php(79):
>> PDOConnection->exec('insert into ADD...')\n#2 {main}
>>
>> According to the source code, it throws by
>>
>> $insertaddr = "insert into ADDRESS (street1, street2, city, state, zip,
>> country, latitude, longitude) ".
>>                      "values ('$strt1', '$street2', '$cty', '$state',
>> '$zip', '$country', ".
>>                      "'$geocode->latitude', '$geocode->longitude')";
>> $connection->beginTransaction();
>> $connection->exec($insertaddr);
>>
>> There is not other index but btree index.
>> Will we modify the insert to "insert ignore" ?
>>
>
>

Re: Dead lock found exception

Posted by Akara Sucharitakul <Ak...@Sun.COM>.
Even duplicate addresses generate a new PK. I do not quite understand 
how the deadlock could happen. It looks like something is trying to lock 
the table rather than the record. This is the Olio 0.1 publicly 
available, right?

-Akara

Mingfan Lu wrote:
> In my benchmark, I found that there is a dead lock exception.
> 
> exception 'PDOException' with message 'SQLSTATE[40001]: Serialization 
> failure: 1213 Deadlock found when trying to get lock; try restarting 
> transaction' in 
> /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php:77\nStack 
> trace:\n#0 
> /opt/faban/faban/apache-olio-php/oliophp/classes/PDOConnection.php(77): 
> PDO->exec('insert into ADD...')\n#1 
> /opt/faban/faban/apache-olio-php/oliophp/public_html/addPersonResult.php(79): 
> PDOConnection->exec('insert into ADD...')\n#2 {main}
> 
> According to the source code, it throws by
> 
> $insertaddr = "insert into ADDRESS (street1, street2, city, state, zip, 
> country, latitude, longitude) ".
>                       "values ('$strt1', '$street2', '$cty', '$state', 
> '$zip', '$country', ".
>                       "'$geocode->latitude', '$geocode->longitude')";
> $connection->beginTransaction();
> $connection->exec($insertaddr);
> 
> There is not other index but btree index.
> Will we modify the insert to "insert ignore" ?