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
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
56 additions
and
36 deletions
+56
-36
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
+7
-2
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 {
...
@@ -42,7 +42,7 @@ public class Id implements ITypedReferenceableInstance {
}
}
public
Id
(
String
className
)
{
public
Id
(
String
className
)
{
this
(-
System
.
currentTimeMillis
(),
0
,
className
);
this
(-
System
.
nanoTime
(),
0
,
className
);
}
}
public
boolean
isUnassigned
()
{
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 {
...
@@ -56,7 +56,7 @@ public class MapIds implements ObjectGraphWalker.NodeProcessor {
}
else
if
(
nd
.
aInfo
.
dataType
().
getTypeCategory
()
==
DataTypes
.
TypeCategory
.
CLASS
)
{
}
else
if
(
nd
.
aInfo
.
dataType
().
getTypeCategory
()
==
DataTypes
.
TypeCategory
.
CLASS
)
{
if
(
nd
.
value
!=
null
&&
nd
.
value
instanceof
IReferenceableInstance
)
{
if
(
nd
.
value
!=
null
&&
nd
.
value
instanceof
IReferenceableInstance
)
{
Id
oldId
=
((
IReferenceableInstance
)
nd
.
value
).
getId
();
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.
* 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 {
...
@@ -59,23 +59,23 @@ public class AttributeStores {
}
else
if
(
i
.
dataType
()
==
DataTypes
.
SHORT_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
SHORT_TYPE
)
{
new
ShortAttributeStore
(
i
);
new
ShortAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
INT_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
INT_TYPE
)
{
new
IntAttributeStore
(
i
);
return
new
IntAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
LONG_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
LONG_TYPE
)
{
new
LongAttributeStore
(
i
);
return
new
LongAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
FLOAT_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
FLOAT_TYPE
)
{
new
FloatAttributeStore
(
i
);
return
new
FloatAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DOUBLE_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DOUBLE_TYPE
)
{
new
DoubleAttributeStore
(
i
);
return
new
DoubleAttributeStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGINTEGER_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGINTEGER_TYPE
)
{
new
BigIntStore
(
i
);
return
new
BigIntStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGDECIMAL_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
BIGDECIMAL_TYPE
)
{
new
BigDecimalStore
(
i
);
return
new
BigDecimalStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DATE_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
DATE_TYPE
)
{
new
DateStore
(
i
);
return
new
DateStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
new
StringStore
(
i
);
return
new
StringStore
(
i
);
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
}
else
if
(
i
.
dataType
()
==
DataTypes
.
STRING_TYPE
)
{
new
StringStore
(
i
);
return
new
StringStore
(
i
);
}
else
{
}
else
{
throw
new
RepositoryException
(
String
.
format
(
"Unknown datatype %s"
,
i
.
dataType
()));
throw
new
RepositoryException
(
String
.
format
(
"Unknown datatype %s"
,
i
.
dataType
()));
}
}
...
@@ -237,8 +237,8 @@ public class AttributeStores {
...
@@ -237,8 +237,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -269,8 +269,8 @@ public class AttributeStores {
...
@@ -269,8 +269,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -301,8 +301,8 @@ public class AttributeStores {
...
@@ -301,8 +301,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -333,8 +333,8 @@ public class AttributeStores {
...
@@ -333,8 +333,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -365,8 +365,8 @@ public class AttributeStores {
...
@@ -365,8 +365,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -397,8 +397,8 @@ public class AttributeStores {
...
@@ -397,8 +397,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -429,8 +429,8 @@ public class AttributeStores {
...
@@ -429,8 +429,8 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
list
.
size
(
pos
+
1
);
nullList
.
ensureCapacity
(
pos
);
nullList
.
size
(
pos
+
1
);
}
}
}
}
...
@@ -445,8 +445,10 @@ public class AttributeStores {
...
@@ -445,8 +445,10 @@ public class AttributeStores {
@Override
@Override
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
list
.
ensureCapacity
(
pos
);
while
(
list
.
size
()
<
pos
+
1
)
{
nullList
.
ensureCapacity
(
pos
);
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;
...
@@ -31,10 +31,7 @@ import org.apache.hadoop.metadata.types.AttributeInfo;
import
org.apache.hadoop.metadata.types.HierarchicalType
;
import
org.apache.hadoop.metadata.types.HierarchicalType
;
import
org.apache.hadoop.metadata.types.IConstructableType
;
import
org.apache.hadoop.metadata.types.IConstructableType
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.locks.ReentrantReadWriteLock
;
import
java.util.concurrent.locks.ReentrantReadWriteLock
;
public
class
HierarchicalTypeStore
{
public
class
HierarchicalTypeStore
{
...
@@ -80,6 +77,10 @@ public class HierarchicalTypeStore {
...
@@ -80,6 +77,10 @@ public class HierarchicalTypeStore {
superTypeStores
=
b1
.
build
();
superTypeStores
=
b1
.
build
();
nextPos
=
0
;
nextPos
=
0
;
idPosMap
=
new
HashMap
<
Id
,
Integer
>();
freePositions
=
new
ArrayList
<
Integer
>();
lock
=
new
ReentrantReadWriteLock
();
}
}
/**
/**
...
@@ -141,7 +142,7 @@ public class HierarchicalTypeStore {
...
@@ -141,7 +142,7 @@ public class HierarchicalTypeStore {
}
}
void
releaseWriteLock
()
{
void
releaseWriteLock
()
{
lock
.
read
Lock
().
unlock
();
lock
.
write
Lock
().
unlock
();
}
}
/**
/**
...
@@ -183,7 +184,9 @@ public class HierarchicalTypeStore {
...
@@ -183,7 +184,9 @@ public class HierarchicalTypeStore {
}
}
public
void
ensureCapacity
(
int
pos
)
throws
RepositoryException
{
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
())
{
for
(
Map
.
Entry
<
AttributeInfo
,
IAttributeStore
>
e
:
attrStores
.
entrySet
())
{
IAttributeStore
attributeStore
=
e
.
getValue
();
IAttributeStore
attributeStore
=
e
.
getValue
();
attributeStore
.
ensureCapacity
(
pos
);
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 {
...
@@ -176,11 +176,19 @@ public class MemRepository implements IRepository {
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
st
.
assignPosition
(
instance
.
getId
());
st
.
assignPosition
(
instance
.
getId
());
for
(
String
traitName
:
instance
.
getTraits
())
{
HierarchicalTypeStore
tt
=
typeStores
.
get
(
traitName
);
tt
.
assignPosition
(
instance
.
getId
());
}
}
}
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
HierarchicalTypeStore
st
=
typeStores
.
get
(
instance
.
getTypeName
());
st
.
store
((
ReferenceableInstance
)
instance
);
st
.
store
((
ReferenceableInstance
)
instance
);
for
(
String
traitName
:
instance
.
getTraits
())
{
HierarchicalTypeStore
tt
=
typeStores
.
get
(
traitName
);
// ??
}
}
}
}
catch
(
RepositoryException
re
)
{
}
catch
(
RepositoryException
re
)
{
for
(
ITypedReferenceableInstance
instance
:
newInstances
)
{
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 {
...
@@ -32,7 +32,7 @@ public class ObjectGraphWalker {
this
.
nodeProcessor
=
nodeProcessor
;
this
.
nodeProcessor
=
nodeProcessor
;
queue
=
new
LinkedList
<
IReferenceableInstance
>();
queue
=
new
LinkedList
<
IReferenceableInstance
>();
processedIds
=
new
HashSet
<
Id
>();
processedIds
=
new
HashSet
<
Id
>();
queue
.
add
(
start
);
visitReferenceableInstance
(
start
);
}
}
public
ObjectGraphWalker
(
TypeSystem
typeSystem
,
NodeProcessor
nodeProcessor
,
public
ObjectGraphWalker
(
TypeSystem
typeSystem
,
NodeProcessor
nodeProcessor
,
...
@@ -42,7 +42,9 @@ public class ObjectGraphWalker {
...
@@ -42,7 +42,9 @@ public class ObjectGraphWalker {
this
.
nodeProcessor
=
nodeProcessor
;
this
.
nodeProcessor
=
nodeProcessor
;
queue
=
new
LinkedList
<
IReferenceableInstance
>();
queue
=
new
LinkedList
<
IReferenceableInstance
>();
processedIds
=
new
HashSet
<
Id
>();
processedIds
=
new
HashSet
<
Id
>();
queue
.
addAll
(
roots
);
for
(
IReferenceableInstance
r
:
roots
)
{
visitReferenceableInstance
(
r
);
}
}
}
public
void
walk
()
throws
MetadataException
{
public
void
walk
()
throws
MetadataException
{
...
@@ -145,9 +147,12 @@ public class ObjectGraphWalker {
...
@@ -145,9 +147,12 @@ public class ObjectGraphWalker {
IReferenceableInstance
ref
=
(
IReferenceableInstance
)
val
;
IReferenceableInstance
ref
=
(
IReferenceableInstance
)
val
;
if
(!
processedIds
.
contains
(
ref
.
getId
()))
{
if
(!
processedIds
.
contains
(
ref
.
getId
()))
{
processedIds
.
add
(
ref
.
getId
());
if
(
!(
ref
instanceof
Id
)
)
{
queue
.
add
(
ref
);
queue
.
add
(
ref
);
}
}
}
}
}
void
processReferenceableInstance
(
IReferenceableInstance
ref
)
throws
MetadataException
{
void
processReferenceableInstance
(
IReferenceableInstance
ref
)
throws
MetadataException
{
...
...
typesystem/src/test/java/org/apache/hadoop/metadata/StorageTest.java
View file @
546efae9
...
@@ -21,7 +21,9 @@ public class StorageTest extends BaseTest {
...
@@ -21,7 +21,9 @@ public class StorageTest extends BaseTest {
Referenceable
hrDept
=
createDeptEg1
(
ts
);
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