You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lens.apache.org by "Himanshu Gahlaut (JIRA)" <ji...@apache.org> on 2015/02/05 19:50:34 UTC
[jira] [Created] (LENS-279) Redesigning lens server state
persistence with respect to synchronization
Himanshu Gahlaut created LENS-279:
-------------------------------------
Summary: Redesigning lens server state persistence with respect to synchronization
Key: LENS-279
URL: https://issues.apache.org/jira/browse/LENS-279
Project: Apache Lens
Issue Type: Improvement
Reporter: Himanshu Gahlaut
Currently writeExternal method of various lens classes writes to an ObjectOutputStream for persisting state of objects. These writeExternal method calls are triggered from a code block in LensServices class which is a synchronized code block. All write methods are coming within synchronized blocks in all classes. writeExternal method can take long time due to slowness in filesystem and that can block other synchronized methods in these classes, which come under query execution flow. This locking and slowness in filesystem can decrease the performance of query execution flow. An improved approach can be to make a copy of the entire state to be persisted with synchronization and then write to file system in a non synchronized code block. This would result in locking a lighter portion of code (in memory copy) instead of creating locks around relatively heavier portion of code (writes to filesystem).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)