Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
546efae9
Commit
546efae9
authored
Dec 23, 2014
by
Harish Butani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix minor issues in Walker, Stores: get MemRepo:create to work
parent
2810310f
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
57 additions
and
37 deletions
+57
-37
Id.java
.../src/main/java/org/apache/hadoop/metadata/storage/Id.java
+1
-1
MapIds.java
.../main/java/org/apache/hadoop/metadata/storage/MapIds.java
+1
-1
AttributeStores.java
...pache/hadoop/metadata/storage/memory/AttributeStores.java
+27
-25
HierarchicalTypeStore.java
...hadoop/metadata/storage/memory/HierarchicalTypeStore.java
+9
-6
MemRepository.java
.../apache/hadoop/metadata/storage/memory/MemRepository.java
+8
-0
ObjectGraphWalker.java
...a/org/apache/hadoop/metadata/types/ObjectGraphWalker.java
+8
-3
StorageTest.java
...src/test/java/org/apache/hadoop/metadata/StorageTest.java
+3
-1
No files found.
typesystem/src/main/java/org/apache/hadoop/metadata/storage/Id.java
View file @
546efae9
...
...
@@ -42,7 +42,7 @@ public class Id implements ITypedReferenceableInstance {
}
public
Id
(
String
className
)
{
this
(-
System
.
currentTimeMillis
(),
0
,
className
);
this
(-
System
.
nanoTime
(),
0
,
className
);
}
public
boolean
isUnassigned
()
{
...
...
typesystem/src/main/java/org/apache/hadoop/metadata/storage/MapIds.java
View file @
546efae9
...
...
@@ -56,7 +56,7 @@ public class MapIds implements ObjectGraphWalker.NodeProcessor {
}
else
if
(
nd
.
aInfo
.
dataType
().
getTypeCategory
()
==
DataTypes
.
TypeCategory
.
CLASS
)
{
if
(
nd
.
value
!=
null
&&
nd
.
value
instanceof
IReferenceableInstance
)
{
Id
oldId
=
((
IReferenceableInstance
)
nd
.
value
).
getId
();
Id
newId
=
idToNewIdMap
.
get
(
ref
.
getId
()
);
Id
newId
=
idToNewIdMap
.
get
(
oldId
);
/*
* Replace Instances with Ids, irrespective of whether they map to newIds or not.
*/
...
...
typesystem/src/main/java/org/apache/hadoop/metadata/storage/memory/AttributeStores.java
View file @
546efae9
...
...
@@ -59,23 +59,23 @@ public class AttributeStores {
}
else
if
(
i
.
dataType
()
==
DataTypes
.
SHORT_TYPE
)
{
new
ShortAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
INT_TYPE
)
{
new
IntAttributeStore
(
i
);
return
new
IntAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
LONG_TYPE
)
{
new
LongAttributeStore
(
i
);
return
new
LongAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
FLOAT_TYPE
)
{
new
FloatAttributeStore
(
i
);
return
new
FloatAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DOUBLE_TYPE
)
{
new
DoubleAttributeStore
(
i
);
return
new
DoubleAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGINTEGER_TYPE
)
{
new
BigIntStore
(
i
);
return
new
BigIntStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGDECIMAL_TYPE
)
{
new
BigDecimalStore
(
i
);
return
new
BigDecimalStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DATE_TYPE
)
{
new
DateStore
(
i
);
return
new
DateStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
new
StringStore
(
i
);
return
new
StringStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
new
StringStore
(
i
);
return
new
StringStore
(
i
);
}
else
{
throw
new
RepositoryException
(
String
.
format
(
"Unknown datatype %s"
,
i
.
dataType
()));
}
...
...
@@ -237,8 +237,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -269,8 +269,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -301,8 +301,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -333,8 +333,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -365,8 +365,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -397,8 +397,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -429,8 +429,8 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
size
(
pos
+
1
);
}
}
...
...
@@ -445,8 +445,10 @@ public class AttributeStores {
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
nullList
.
ensureCapacity
(
pos
);
while
(
list
.
size
()
<
pos
+
1
)
{
list
.
add
((
T
)
null
);
}
nullList
.
size
(
pos
+
1
);
}
}
...
...
typesystem/src/main/java/org/apache/hadoop/metadata/storage/memory/HierarchicalTypeStore.java
View file @
546efae9
...
...
@@ -31,10 +31,7 @@ import org.apache.hadoop.metadata.types.AttributeInfo;
import
org.apache.hadoop.metadata.types.HierarchicalType
;
import
org.apache.hadoop.metadata.types.IConstructableType
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.concurrent.locks.ReentrantReadWriteLock
;
public
class
HierarchicalTypeStore
{
...
...
@@ -80,6 +77,10 @@ public class HierarchicalTypeStore {
superTypeStores
=
b1
.
build
();
nextPos
=
0
;
idPosMap
=
new
HashMap
<
Id
,
Integer
>();
freePositions
=
new
ArrayList
<
Integer
>();
lock
=
new
ReentrantReadWriteLock
();
}
/**
...
...
@@ -141,7 +142,7 @@ public class HierarchicalTypeStore {
}
void
releaseWriteLock
()
{
lock
.
read
Lock
().
unlock
();
lock
.
write
Lock
().
unlock
();
}
/**
...
...
@@ -183,7 +184,9 @@ public class HierarchicalTypeStore {
}
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
typeNameList
.
ensureCapacity
(
pos
);
while
(
typeNameList
.
size
()
<
pos
+
1
)
{
typeNameList
.
add
(
null
);
}
for
(
Map
.
Entry
<
AttributeInfo
,
IAttributeStore
>
e
:
attrStores
.
entrySet
())
{
IAttributeStore
attributeStore
=
e
.
getValue
();
attributeStore
.
ensureCapacity
(
pos
);
...
...
typesystem/src/main/java/org/apache/hadoop/metadata/storage/memory/MemRepository.java
View file @
546efae9
...
...
@@ -176,11 +176,19 @@ public class MemRepository implements IRepository {
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
st
.
assignPosition
(
instance
.
getId
());
for
(
String
traitName
:
instance
.
getTraits
())
{
HierarchicalTypeStore
tt
=
typeStores
.
get
(
traitName
);
tt
.
assignPosition
(
instance
.
getId
());
}
}
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
st
.
store
((
ReferenceableInstance
)
instance
);
for
(
String
traitName
:
instance
.
getTraits
())
{
HierarchicalTypeStore
tt
=
typeStores
.
get
(
traitName
);
// ??
}
}
}
catch
(
RepositoryException
re
)
{
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
...
...
typesystem/src/main/java/org/apache/hadoop/metadata/types/ObjectGraphWalker.java
View file @
546efae9
...
...
@@ -32,7 +32,7 @@ public class ObjectGraphWalker {
this
.
nodeProcessor
=
nodeProcessor
;
queue
=
new
LinkedList
<
IReferenceableInstance
>();
processedIds
=
new
HashSet
<
Id
>();
queue
.
add
(
start
);
visitReferenceableInstance
(
start
);
}
public
ObjectGraphWalker
(
TypeSystem
typeSystem
,
NodeProcessor
nodeProcessor
,
...
...
@@ -42,7 +42,9 @@ public class ObjectGraphWalker {
this
.
nodeProcessor
=
nodeProcessor
;
queue
=
new
LinkedList
<
IReferenceableInstance
>();
processedIds
=
new
HashSet
<
Id
>();
queue
.
addAll
(
roots
);
for
(
IReferenceableInstance
r
:
roots
)
{
visitReferenceableInstance
(
r
);
}
}
public
void
walk
()
throws
MetadataException
{
...
...
@@ -145,7 +147,10 @@ public class ObjectGraphWalker {
IReferenceableInstance
ref
=
(
IReferenceableInstance
)
val
;
if
(!
processedIds
.
contains
(
ref
.
getId
()))
{
queue
.
add
(
ref
);
processedIds
.
add
(
ref
.
getId
());
if
(
!(
ref
instanceof
Id
)
)
{
queue
.
add
(
ref
);
}
}
}
...
...
typesystem/src/test/java/org/apache/hadoop/metadata/StorageTest.java
View file @
546efae9
...
...
@@ -21,7 +21,9 @@ public class StorageTest extends BaseTest {
Referenceable
hrDept
=
createDeptEg1
(
ts
);
//ITypedReferenceableInstance hrDept2 = ms.getRepository().create(hrDept);
ITypedReferenceableInstance
hrDept2
=
ms
.
getRepository
().
create
(
hrDept
);
//System.out.println(hrDept2);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment