[
https://issues.apache.org/jira/browse/HBASE-6581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753916#comment-13753916
]
Eric Charles commented on HBASE-6581:
-------------------------------------
- FSHLog#syncer has some synchronized block, but still one call to PBLW.sync()
is not in a synchronized block. so this maybe a problem. I guess we can't
change like that the unsynchronized code block FSHLog (line 1068) without
side-effect (the logic seems there quite tricky).
- I looked around (web, book...) to know if method.invoke(...) is safe. It
sounds to me it is not like a direct method call, the state of that object may
change and may thus be unsafe (no idea). Maybe someone can shed light on this?
- I looked in the hbase code for other Method objects as field. I found one in
TableRecordReaderImpl where is getCounter method is stored as field. No
particular guard is there when invoke(...) is called on it. But that's for sure
a less sensible function and maybe the threadsafety is naturally ensured by the
calle (nextKeyValue).
- Side note: this method object came because I wanted to avoid duplicating all
the hadoop2-compat classes in the hadoop3-compat module. If we agree to
copy/paste them, the method object and our questions disappear (although I
would like to have answers on them). I don't anyway duplicating is the way to
go.
> Build with hadoop.profile=3.0
> -----------------------------
>
> Key: HBASE-6581
> URL: https://issues.apache.org/jira/browse/HBASE-6581
> Project: HBase
> Issue Type: Bug
> Reporter: Eric Charles
> Assignee: Eric Charles
> Attachments: HBASE-6581-1.patch, HBASE-6581-20130821.patch,
> HBASE-6581-2.patch, HBASE-6581-3.patch, HBASE-6581-4.patch, HBASE-6581.diff,
> HBASE-6581.diff
>
>
> Building trunk with hadoop.profile=3.0 gives exceptions (see [1]) due to
> change in the hadoop maven modules naming (and also usage of 3.0-SNAPSHOT
> instead of 3.0.0-SNAPSHOT in hbase-common).
> I can provide a patch that would move most of hadoop dependencies in their
> respective profiles and will define the correct hadoop deps in the 3.0
> profile.
> Please tell me if that's ok to go this way.
> Thx, Eric
> [1]
> $ mvn clean install -Dhadoop.profile=3.0
> [INFO] Scanning for projects...
> [ERROR] The build could not read 3 projects -> [Help 1]
> [ERROR]
> [ERROR] The project org.apache.hbase:hbase-server:0.95-SNAPSHOT
> (/d/hbase.svn/hbase-server/pom.xml) has 3 errors
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-common:jar is missing. @ line 655, column 21
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-annotations:jar is missing. @ line 659, column 21
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-minicluster:jar is missing. @ line 663, column 21
> [ERROR]
> [ERROR] The project org.apache.hbase:hbase-common:0.95-SNAPSHOT
> (/d/hbase.svn/hbase-common/pom.xml) has 3 errors
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-common:jar is missing. @ line 170, column 21
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-annotations:jar is missing. @ line 174, column 21
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-minicluster:jar is missing. @ line 178, column 21
> [ERROR]
> [ERROR] The project org.apache.hbase:hbase-it:0.95-SNAPSHOT
> (/d/hbase.svn/hbase-it/pom.xml) has 3 errors
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-common:jar is missing. @ line 220, column 18
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-annotations:jar is missing. @ line 224, column 21
> [ERROR] 'dependencies.dependency.version' for
> org.apache.hadoop:hadoop-minicluster:jar is missing. @ line 228, column 21
> [ERROR]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira