You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2014/11/20 20:29:29 UTC
svn commit: r1640787 - in
/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl:
BinaryCasSerDes4.java BinaryCasSerDes6.java
Author: schor
Date: Thu Nov 20 19:29:29 2014
New Revision: 1640787
URL: http://svn.apache.org/r1640787
Log:
[UIMA-4100] for delta deserialization below the line updates, remove / readd to indices, per view, as needed.
Modified:
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes4.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes6.java
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes4.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes4.java?rev=1640787&r1=1640786&r2=1640787&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes4.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes4.java Thu Nov 20 19:29:29 2014
@@ -1455,7 +1455,7 @@ public class BinaryCasSerDes4 {
*/
private class Deserializer {
- final private CASImpl cas; // cas being serialized
+ final private CASImpl cas; // cas being deserialized into
final private DataInput deserIn;
final private DataInputStream[] dataInputs = new DataInputStream[NBR_SLOT_KIND_ZIP_STREAMS];
@@ -2032,9 +2032,12 @@ public class BinaryCasSerDes4 {
long vPrevModLong = 0;
int iHeap;
TypeInfo typeInfo;
+
private void readModifiedFSs() throws IOException {
+ final List<FSIndexRepositoryImpl> toBeAddedRepos = new ArrayList<FSIndexRepositoryImpl>();
+
final int modFSsLength = readVnumber(control_dis);
iPrevHeap = 0;
@@ -2053,7 +2056,11 @@ public class BinaryCasSerDes4 {
if (typeInfo.isArray && (!typeInfo.isHeapStoredArray)) {
readModifiedAuxHeap(numberOfModsInThisFs);
} else {
+ // https://issues.apache.org/jira/browse/UIMA-4100
+ toBeAddedRepos.clear();
+ cas.removeFromCorruptableIndexAnyView(iHeap, toBeAddedRepos);
readModifiedMainHeap(numberOfModsInThisFs);
+ cas.addBackRemovedFsToAppropViews(iHeap, toBeAddedRepos);
}
}
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes6.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes6.java?rev=1640787&r1=1640786&r2=1640787&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes6.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BinaryCasSerDes6.java Thu Nov 20 19:29:29 2014
@@ -314,7 +314,7 @@ public class BinaryCasSerDes6 {
/*****************************************************
* Things for both serialization and Deserialization
*****************************************************/
- final private CASImpl cas; // cas being serialized
+ final private CASImpl cas; // cas being serialized or deserialized into
private int[] heap; // main heap, can't be final because grow replaces it
final private StringHeap stringHeapObj;
final private LongHeap longHeapObj;
@@ -2269,6 +2269,7 @@ public class BinaryCasSerDes6 {
// int[] srcNextSkippedIndex;
private void readModifiedFSs() throws IOException {
+ final List<FSIndexRepositoryImpl> toBeAddedRepos = new ArrayList<FSIndexRepositoryImpl>();
final int modFSsLength = readVnumber(control_dis);
int prevSeq = 0;
@@ -2317,7 +2318,11 @@ public class BinaryCasSerDes6 {
**************************************************/
readModifiedAuxHeap(numberOfModsInThisFs);
} else {
+ // https://issues.apache.org/jira/browse/UIMA-4100
+ toBeAddedRepos.clear();
+ cas.removeFromCorruptableIndexAnyView(iHeap, toBeAddedRepos);
readModifiedMainHeap(numberOfModsInThisFs);
+ cas.addBackRemovedFsToAppropViews(iHeap, toBeAddedRepos);
}
}
}