[
https://issues.apache.org/jira/browse/GORA-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782614#comment-13782614
]
Hudson commented on GORA-270:
-----------------------------
SUCCESS: Integrated in gora-trunk #873 (See
[https://builds.apache.org/job/gora-trunk/873/])
GORA-270 GORA-275 Pass conf file for the IOUtils for StaticSerializationFactory
| patch by drazzib (hsaputra:
http://svn.apache.org/viewvc/gora/trunk/?view=rev&rev=1527864)
* /gora/trunk/CHANGES.txt
*
/gora/trunk/gora-accumulo/src/main/java/org/apache/gora/accumulo/store/AccumuloStore.java
*
/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java
* /gora/trunk/gora-core/src/main/java/org/apache/gora/memory/store/MemStore.java
*
/gora/trunk/gora-core/src/main/java/org/apache/gora/query/impl/PartitionQueryImpl.java
* /gora/trunk/gora-core/src/main/java/org/apache/gora/query/impl/QueryBase.java
* /gora/trunk/gora-core/src/main/java/org/apache/gora/util/IOUtils.java
*
/gora/trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java
* /gora/trunk/gora-solr/src/main/java/org/apache/gora/solr/store/SolrStore.java
> IOUtils static SerializationFactory field
> -----------------------------------------
>
> Key: GORA-270
> URL: https://issues.apache.org/jira/browse/GORA-270
> Project: Apache Gora
> Issue Type: Bug
> Components: gora-core
> Reporter: Damien Raude-Morvan
> Assignee: Damien Raude-Morvan
> Labels: mapreduce
> Fix For: 0.4
>
> Attachments:
> 0001-GORA-270-remove-static-reference-to-SerializationFac.patch
>
>
> (From
> http://mail-archives.apache.org/mod_mbox/gora-dev/201308.mbox/%3CCAG50ZE_poN4C%2B%2B8t2xLZ3MoJVDMRo6nfW_Wygd%3D%3DeteF3jyLrw%40mail.gmail.com%3E)
> Right now, IOUtils keep a *static* reference to an SerializationFactory
> which is initialized on first call to writeObject() with a Configuration
> instance. Given Configuration is also stored in a static field of same
> class for latter usage.
> But in fact each call to IOUtils.writeObject() can have a different
> Configuration instance than previous one. In my personnal use case, I've
> multiple M/R jobs which use Gora M/R feature to process Persistent object
> but each job can work with a different datastore configuration (for
> instance, name of table/collection/colum family).
> If we keep a static reference to SerializationFactory (and so its
> Configuration reference),
> QueryBase#readFields will then create a DataStore with wrong Configuration
> (ie. using first DataStore/Configuration instead of new one)
> I've started working on this issue, and come up with a possible fix :
> https://github.com/drazzib/gora/compare/apache-gora-0.2.1...ioutils_static_conf
> - remove static SerializationFactory from IOUtils (will recreate it every
> time)
> - in PartitionQueryImpl and QueryBase now send *current* configuration to
> deserialize
> One linked fix, is that gora "drivers" needs to be updated to define
> Configuration instance in PartitionQueryImpl (like this
> https://github.com/drazzib/gora/commit/395f2e2ad50d524f42ecc563104c165fa0fa6f39
> ).
--
This message was sent by Atlassian JIRA
(v6.1#6144)