PeopleSoft SES Error: what do i do: seems an odd quirk of the EJB spec. The exception is:java.lang.OutOfMemoryError

Monday mornings are usually not great because apart from the weekend being over, there is always something that won’t work and it is usually due to weekend maintenance/upgrade work.

Today I found all my SES index jobs showing the same error as shown below:

Integration Broker encountered an error (262,1020) 
PT_SEARCH.SESIMPL.MESSAGE.SESRequest.OnExecute  N ame:Send  PCPC:688  Statement:16 Called
from:PT_SEARCH.SESIMPL.AdminService.OnExecute  Name:doService  Statement:848 Called
from:PT_SEARCH.SESIMPL.AdminService.OnExecute  Name:StartCrawl  Statement:277 Called
from:PTSF_GENFEED.SES_STAT.GBL.default.1900-01-01.Step01.OnExecute  Statement:21

I undeployed and deployed the indexes again and ran them in full mode but they resulted in the same error. Integration Broker seemed to be working fine. Ping tests worked fine in Search Administration and other integration broker messages seemed to be processing fine.

I logged on to the SES console and when I clicked the Schedules tab – it seemed to be stuck forever. After a while – it gave a goofy error “what do i do: seems an odd quirk of the EJB spec. The exception is:java.lang.OutOfMemoryError

what do i do: seems an odd quirk of the EJB spec. The exception is:java.lang.OutOfMemoryError

This error is most likely to happen during the maintenance windown when SES index is stuck in ‘LAUNCHING’ status probably because Oracle JVM cannot spawn a child process.

If you’ve received a similar error, here is what you can do:

  1. Login to SQL* Plus or SQL Developer with searchsys and run the following:
SQL> exec eq_adm.use_instance('eq_inst');
SQL> -- look up schedule id with LAUNCHING status
SQL> col cs_state for a12
SQL> col cs_name for a30
SQL> select cs_id,cs_state, cs_name from eq$crawler_sched;

Output of above SQL commands would be a list of indexes and their state like shown below

---------- ------------ ------------------------------

Note the CS_ID of the index in Launching state and run the below

SQL> update eq$crawler_sched set cs_state='SCHEDULED' where cs_id = CS_ID_OF_INDEX_IN_LAUNCHING_STATE;
SQL> commit;

Going by the output in my case, I ran the SQL:

SQL> update eq$crawler_sched set cs_state='SCHEDULED' where cs_id = 1284; commit;

Logoff from SES console, restart SES services, login to the SES console again and check the Schedules tab. Hopefully it should not throw any error and show you a list of schedules.If that is the case, go ahead and run the index in full mode again. If you do not restart the SES services, you’re likely to see the error below:
ESS-05110 An error occurred while retrieving the metadata object with name Schedule://oracle/apps/ess/search/crawler/OracleSearchSchedule1284 of type Schedule.

Hopefully that would resolve your issue. Let me know your questions in the comment box below.

Apurva Tripathi

Apurva is a PeopleSoft consultant and a big advocate of everything PeopleSoft. He is also a technology enthusiast and loves learning and implementing newer and open source technologies. He spends his spare time updating this blog and likes to read books on self help and productivity.

Click Here to Leave a Comment Below 0 comments