Analytics Collector Stops Writing Events To The Database Under Moderate Load: Bug 9769048 (Doc ID 1116045.1)

Last updated on JANUARY 03, 2017

Applies to:

Oracle WebCenter Analytics - Version 10.3.0.1 to 10.3.0.1
Information in this document applies to any platform.

Symptoms

A moderate load of about 53 hits-per-second on a WebCenter Interaction (WCI) portal, yielding a similar load of WebCenter Analytics 10.3.0.1 Page View events, causes table locking in the application's Microsoft SQL Server database, preventing the collection of any event data. With default logging settings, the application reports no errors in the collector.log file until the event buffer fills and reports the warning message:

"WARN EventBuffer - EventBuffer is full, increase event buffer size to prevent event loss".


Increasing the Event Buffer according to Note 1089083.1 only prolongs the time before this warning message. Also, that will not help preserve the data because only a restart of the collector service will enable it to write to the database again and that will wipe out the data from memory.

With debug logging, the Analytics collector.log shows that the event buffer starts filling and no more log messages indicate any events getting popped out of the buffer and written to the database. That means there are many messages showing events pushing to the event buffer:

24 May 2010 14:08:01,153 DEBUG EventBuffer - Pushed an event to event buffer (size = 18)
24 May 2010 14:08:01,262 DEBUG EventBuffer - Pushed an event to event buffer (size = 19)
24 May 2010 14:08:01,278 DEBUG EventBuffer - Pushed an event to event buffer (size = 20)


But there are no more messages showing events popping to the database like this:

24 May 2010 14:08:01,153 DEBUG EventBuffer - Popped an event from event buffer (size = 16)


Or any messages showing that batched events were written to the database like this:

24 May 2010 14:08:01,153 INFO HibernateUtil - Batch committed 1 objects.


Around the same time, the Collector VisitManager component logs that it executes the following statement:

24 May 2010 14:08:00,934 DEBUG VisitManager - Executing sql update: WITH ByOccurred
AS (
select cv.id as commvisitid, pv.occurred as endtime
from ASFACT_PAGEVIEWS pv, asdim_commvisits cv
where cv.visitid = pv.visitid
and cv.communityid = pv.communityid
and pv.isexitpage=1
and pv.commvisitid is null
)
update cv
set finished = (select max(endtime) from ByOccurred b
where cv.id = b.commvisitid ),
duration = (1000*datediff(second, started, (select max(endtime) from ByOccurred b
where cv.id = b.commvisitid )))
from asdim_commvisits cv, ByOccurred b
where cv.id = b.commvisitid null


But there are never any more messages like this after that:

24 May 2010 14:08:00,934 DEBUG VisitManager - SQL Update successfull. NumRowsAffected=0

Changes

Install Analytics version 10.3.0.1 or upgrade to it.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms