Protocol Buffers version

2015-05-13 Thread Alan Burlison
The current version of Protocol Buffers is 2.6.1 but the current version 
required by Hadoop is 2.5.0. Is there any reason for this, or should I 
log a JIRA to get it updated?


--
Alan Burlison
--


[jira] [Resolved] (HADOOP-11966) Variable cygwin is undefined in hadoop-config.sh when executed through hadoop-daemon.sh.

2015-05-13 Thread Chris Nauroth (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-11966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth resolved HADOOP-11966.

Resolution: Fixed

 Variable cygwin is undefined in hadoop-config.sh when executed through 
 hadoop-daemon.sh.
 

 Key: HADOOP-11966
 URL: https://issues.apache.org/jira/browse/HADOOP-11966
 Project: Hadoop Common
  Issue Type: Bug
  Components: scripts
Affects Versions: 2.7.0
Reporter: Chris Nauroth
Assignee: Chris Nauroth
Priority: Critical
 Fix For: 2.7.1

 Attachments: HADOOP-11966-branch-2.001.patch


 HADOOP-11464 reinstated support for running the bash scripts through Cygwin.  
 The logic involves setting a {{cygwin}} flag variable to indicate if the 
 script is executing through Cygwin.  The flag is set in all of the 
 interactive scripts: {{hadoop}}, {{hdfs}}, {{yarn}} and {{mapred}}.  The flag 
 is not set through hadoop-daemon.sh though.  This can cause an erroneous 
 overwrite of {{HADOOP_HOME}} and {{JAVA_LIBRARY_PATH}} inside 
 hadoop-config.sh.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: Protocol Buffers version

2015-05-13 Thread Allen Wittenauer

On May 13, 2015, at 5:02 AM, Alan Burlison alan.burli...@oracle.com wrote:

 The current version of Protocol Buffers is 2.6.1 but the current version 
 required by Hadoop is 2.5.0. Is there any reason for this, or should I log a 
 JIRA to get it updated?

The story of protocol buffers is part of a shameful past where Hadoop 
trusted Google.  This was a terrible mistake, based upon the last time the 
project upgraded.  2.4-2.5 required some source level, non-backward 
compatible, and completely-avoidable-but-G-made-us-do-it-anyway surgery to make 
work. This also ended up being a flag day for every single developer who not 
only worked with Hadoop but all of the downstream projects as well.  Big 
disaster.

The fact that when Google shut down Google Code, they didn't even tag 
previous releases  in the github source tree without significant amount of 
pressure from the open source community was just adding insult to injury.  As a 
result, I believe the collective opinion is to just flat out avoid adding any 
more Google bits into the system.

See also: guava, which suffers from the same shortsightedness. 

At some point, we'll either upgrade, switch to a different protocol 
serialization format, or fork protobuf. 



Re: HADOOP-9279 still not fixed, needs reopening

2015-05-13 Thread Chris Nauroth
Last time I checked, this was particular to mvn compile and would not
occur for other kinds of builds from the root of the source tree like mvn
test or mvn package.  This is a Maven behavior that is unavoidable
unless we pull hadoop-maven-plugins out into its own project separate from
the Hadoop source tree, which is something the community already decided
against.  We can only document the behavior.

Please feel free to file a new issue if you'd like to see this clarified
in BUILDING.txt.  We'd welcome a patch if you want to provide one.  Thanks!

--Chris Nauroth




On 5/13/15, 4:14 AM, Alan Burlison alan.burli...@oracle.com wrote:

https://issues.apache.org/jira/browse/HADOOP-9279

Document the need to build hadoop-maven-plugins for eclipse and separate
project builds

Although the BUILDING.txt mentions the need to to build
hadoop-maven-plugins for Eclipse, it's actually needed for *all* builds,
even from the top level, otherwise a top-level build will fail with:

[ERROR] Failed to parse plugin descriptor for
org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT
(/pool1/home/alanbur/bleaklow/bigdata/hadoop/hadoop-maven-plugins/target/c
lasses): 
No plugin descriptor found at META-INF/maven/plugin.xml - [Help 1]

Manually building hadoop-maven-plugins fixes the problem, but if I'm
reading HADOOP-9279 right it shouldn't be required. What's the correct
course of action here, reopen HADOOP-9279 or log a new bug? If it's the
former I can't see any way of reopening it in JIRA, presumably because
I'm not blessed enough to do so.

Thanks,

-- 
Alan Burlison
--



Re: Protocol Buffers version

2015-05-13 Thread Chris Nauroth
Some additional details...

A few years ago, we moved from Protocol Buffers 2.4.1 to 2.5.0.  There
were some challenges with that upgrade, because 2.5.0 was not
backwards-compatible with 2.4.1.  We needed to coordinate carefully with
projects downstream of Hadoop that receive our protobuf classes through
transitive dependency.  Here are a few issues with more background:

https://issues.apache.org/jira/browse/HADOOP-9845

https://issues.apache.org/jira/browse/HBASE-8165

https://issues.apache.org/jira/browse/HIVE-5112

It was important to complete this upgrade before Hadoop 2.x came out of
beta.  After that, we committed to a policy of backwards-compatibility
within the 2.x release line.  I can't find a statement about whether or
not Protocol Buffers 2.6.1 is backwards-compatible with 2.5.0 (both at
compile time and on the wire).  Do you know the answer?  If it's
backwards-incompatible, then we wouldn't be able to do this upgrade within
Hadoop 2.x, though we could consider it for 3.x (trunk).

In general, we upgrade dependencies when a new release offers a compelling
benefit, not solely to keep up with the latest.  In the case of 2.5.0,
there was a performance benefit.  Looking at the release notes for 2.6.0
and 2.6.1, I don't see anything particularly compelling.  (That's just my
opinion though, and others might disagree.)

https://github.com/google/protobuf/blob/master/CHANGES.txt

BTW, if anyone is curious, it's possible to try a custom build right now
linked against 2.6.1.  You'd pass -Dprotobuf.version=2.6.1 and
-Dprotoc.path=path to protoc 2.6.1 binary when you run the mvn command.


--Chris Nauroth




On 5/13/15, 8:59 AM, Allen Wittenauer a...@altiscale.com wrote:


On May 13, 2015, at 5:02 AM, Alan Burlison alan.burli...@oracle.com
wrote:

 The current version of Protocol Buffers is 2.6.1 but the current
version required by Hadoop is 2.5.0. Is there any reason for this, or
should I log a JIRA to get it updated?

   The story of protocol buffers is part of a shameful past where Hadoop
trusted Google.  This was a terrible mistake, based upon the last time
the project upgraded.  2.4-2.5 required some source level, non-backward
compatible, and completely-avoidable-but-G-made-us-do-it-anyway surgery
to make work. This also ended up being a flag day for every single
developer who not only worked with Hadoop but all of the downstream
projects as well.  Big disaster.

   The fact that when Google shut down Google Code, they didn't even tag
previous releases  in the github source tree without significant amount
of pressure from the open source community was just adding insult to
injury.  As a result, I believe the collective opinion is to just flat
out avoid adding any more Google bits into the system.

   See also: guava, which suffers from the same shortsightedness.

   At some point, we'll either upgrade, switch to a different protocol
serialization format, or fork protobuf.




[jira] [Resolved] (HADOOP-11908) Erasure coding: Should be able to encode part of parity blocks.

2015-05-13 Thread Yi Liu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-11908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yi Liu resolved HADOOP-11908.
-
Resolution: Duplicate

 Erasure coding: Should be able to encode part of parity blocks.
 ---

 Key: HADOOP-11908
 URL: https://issues.apache.org/jira/browse/HADOOP-11908
 Project: Hadoop Common
  Issue Type: Sub-task
  Components: io
Reporter: Yi Liu
Assignee: Kai Zheng

 {code}
 public void encode(ByteBuffer[] inputs, ByteBuffer[] outputs);
 {code}
 Currently when we do encode, the outputs are all parity blocks, we should be 
 able to encode part of parity blocks. 
 This is required when we do datanode striped block recovery, if one or more 
 parity blocks are missed, we need to do encode to recovery them. Only encode 
 part of parity blocks should be more efficient than all.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: HADOOP-9279 still not fixed, needs reopening

2015-05-13 Thread Alan Burlison

On 13/05/2015 17:38, Chris Nauroth wrote:


I usually tell people starting fresh to do mvn clean install -Pnative
-DskipTests as a first step.  That's a good validation of your build
environment, and it will put a SNAPSHOT version of each sub-module into
your local Maven repository.  After that, you can do smaller incremental
builds by cd'ing into hadoop-hdfs or hadoop-yarn-server-nodemanager or
anything else and running things like mvn test for just that sub-module.


Thanks, I've logged

https://issues.apache.org/jira/browse/HADOOP-11968
BUILDING.txt is still unclear about the need to build 
hadoop-maven-plugins first


And assigned it to myself.

--
Alan Burlison
--


[jira] [Created] (HADOOP-11968) BUILDING.txt is still unclear about the need to build

2015-05-13 Thread Alan Burlison (JIRA)
Alan Burlison created HADOOP-11968:
--

 Summary: BUILDING.txt is still unclear about the need to build 
 Key: HADOOP-11968
 URL: https://issues.apache.org/jira/browse/HADOOP-11968
 Project: Hadoop Common
  Issue Type: Improvement
  Components: build
Affects Versions: 2.7.0
 Environment: All
Reporter: Alan Burlison
Assignee: Alan Burlison
Priority: Minor


HADOOP-9279 attempted to address the issue of having to make sure that 
hadoop-maven-plugins is built first by modifying BUILDING.txt but it still 
isn't clear this is a requirement. The compile target doesn't do this, so if 
the first build is a mvn compile it will fail.

BUILDING.txt should be modified to recommend either that an mvn compile is 
done first in hadoop-maven-plugins or that a mvn clean install -Pnative 
-DskipTests is done from the top-level.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: Planning Hadoop 2.6.1 release

2015-05-13 Thread Zhihai Xu
Hi Akira,

Can we also include YARN-3242? YARN-3242 fixed a critical ZKRMStateStore
bug.
It will work better with YARN-2992.

thanks
zhihai


On Tue, May 12, 2015 at 10:38 PM, Akira AJISAKA ajisa...@oss.nttdata.co.jp
wrote:

 Thanks all for collecting jiras for 2.6.1 release. In addition, I'd like
 to include the following:

 * HADOOP-11343. Overflow is not properly handled in calculating final iv
 for AES CTR
 * YARN-2874. Dead lock in DelegationTokenRenewer which blocks RM to
 execute any further apps
 * YARN-2992. ZKRMStateStore crashes due to session expiry
 * YARN-3013. AMRMClientImpl does not update AMRM token properly
 * YARN-3369. Missing NullPointer check in AppSchedulingInfo causes RM to
 die
 * MAPREDUCE-6303. Read timeout when retrying a fetch error can be fatal to
 a reducer

 All of these are marked as blocker bug for 2.7.0 but not fixed in 2.6.0.

 Regards,
 Akira


 On 5/4/15 11:15, Brahma Reddy Battula wrote:

 Hello Vinod,

 I am thinking,can we include HADOOP-11491 also..? wihout this jira harfs
 will not be usable when cluster installed in HA mode and try to get
 filecontext like below..


 Path path = new
 Path(har:///archivedLogs/application_1428917727658_0005-application_1428917727658_0008-1428927448352.har);
 FileSystem fs = path.getFileSystem(new Configuration());
 path = fs.makeQualified(path);
 FileContext fc = FileContext.getFileContext(path.toUri(),new
 Configuration());



 Thanks  Regards
 Brahma Reddy Battula
 
 From: Chris Nauroth [cnaur...@hortonworks.com]
 Sent: Friday, May 01, 2015 4:32 AM
 To: mapreduce-...@hadoop.apache.org; common-dev@hadoop.apache.org;
 yarn-...@hadoop.apache.org; hdfs-...@hadoop.apache.org
 Subject: Re: Planning Hadoop 2.6.1 release

 Thank you, Arpit.  In addition, I suggest we include the following:

 HADOOP-11333. Fix deadlock in DomainSocketWatcher when the notification
 pipe is full
 HADOOP-11604. Prevent ConcurrentModificationException while closing domain
 sockets during shutdown of DomainSocketWatcher thread.
 HADOOP-11648. Set DomainSocketWatcher thread name explicitly
 HADOOP-11802. DomainSocketWatcher thread terminates sometimes after there
 is an I/O error during requestShortCircuitShm

 HADOOP-11604 and 11648 are not critical by themselves, but they are
 pre-requisites to getting a clean cherry-pick of 11802, which we believe
 finally fixes the root cause of this issue.


 --Chris Nauroth




 On 4/30/15, 3:55 PM, Arpit Agarwal aagar...@hortonworks.com wrote:

  HDFS candidates for back-porting to Hadoop 2.6.1. The first two were
 requested in [1].

 HADOOP-11674. oneByteBuf in CryptoInputStream and CryptoOutputStream
 should be non static
 HADOOP-11710. Make CryptoOutputStream behave like DFSOutputStream wrt
 synchronization

 HDFS-7009. Active NN and standby NN have different live nodes.
 HDFS-7035. Make adding a new data directory to the DataNode an atomic and
 improve error handling
 HDFS-7425. NameNode block deletion logging uses incorrect appender.
 HDFS-7443. Datanode upgrade to BLOCKID_BASED_LAYOUT fails if duplicate
 block files are present in the same volume.
 HDFS-7489. Incorrect locking in FsVolumeList#checkDirs can hang datanodes
 HDFS-7503. Namenode restart after large deletions can cause slow
 processReport.
 HDFS-7575. Upgrade should generate a unique storage ID for each volume.
 HDFS-7579. Improve log reporting during block report rpc failure.
 HDFS-7587. Edit log corruption can happen if append fails with a quota
 violation.
 HDFS-7596. NameNode should prune dead storages from storageMap.
 HDFS-7611. deleteSnapshot and delete of a file can leave orphaned blocks
 in the blocksMap on NameNode restart.
 HDFS-7714. Simultaneous restart of HA NameNodes and DataNode can cause
 DataNode to register successfully with only one NameNode.
 HDFS-7733. NFS: readdir/readdirplus return null directory attribute on
 failure.
 HDFS-7831. Fix the starting index and end condition of the loop in
 FileDiffList.findEarlierSnapshotBlocks().
 HDFS-7885. Datanode should not trust the generation stamp provided by
 client.
 HDFS-7960. The full block report should prune zombie storages even if
 they're not empty.
 HDFS-8072. Reserved RBW space is not released if client terminates while
 writing block.
 HDFS-8127. NameNode Failover during HA upgrade can cause DataNode to
 finalize upgrade.


 Arpit

 [1] Will Hadoop 2.6.1 be released soon?
 http://markmail.org/thread/zlsr6prejyogdyvh



 On 4/27/15, 11:47 AM, Vinod Kumar Vavilapalli vino...@apache.org
 wrote:

  There were several requests on the user lists [1] for a 2.6.1 release. I
 got many offline comments too.

 Planning to do a 2.6.1 release in a few weeks time. We already have a
 bunch
 of tickets committed to 2.7.1. I created a filter [2] to tracking
 pending
 tickets.

 We need to collectively come up with a list of critical issues. We can
 use
 the JIRA Target Version field for the same. I see some but not a whole
 lot
 of new work for this 

[jira] [Reopened] (HADOOP-11566) Add tests and fix for erasure coders to recover erased parity units

2015-05-13 Thread Vinayakumar B (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-11566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vinayakumar B reopened HADOOP-11566:


 Add tests and fix for erasure coders to recover erased parity units 
 

 Key: HADOOP-11566
 URL: https://issues.apache.org/jira/browse/HADOOP-11566
 Project: Hadoop Common
  Issue Type: Sub-task
Reporter: Kai Zheng
Assignee: Kai Zheng
 Fix For: HDFS-7285

 Attachments: HADOOP-11566-HDFS-7285-v2.patch, 
 HADOOP-11566-HDFS-7285-v2.patch, HADOOP-11566-v1.patch


 Discussing with [~zhz] in HADOOP-11542: it's planned to have follow up a JIRA 
 to enhance the tests for parity chunks as well. Like erasedDataIndexes, 
 erasedParityIndexes will be added to specify which parity units are to be 
 erased and recovered then.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (HADOOP-11566) Add tests and fix for erasure coders to recover erased parity units

2015-05-13 Thread Vinayakumar B (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-11566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vinayakumar B resolved HADOOP-11566.

   Resolution: Fixed
Fix Version/s: HDFS-7285

Resolving as FIXED

 Add tests and fix for erasure coders to recover erased parity units 
 

 Key: HADOOP-11566
 URL: https://issues.apache.org/jira/browse/HADOOP-11566
 Project: Hadoop Common
  Issue Type: Sub-task
Reporter: Kai Zheng
Assignee: Kai Zheng
 Fix For: HDFS-7285

 Attachments: HADOOP-11566-HDFS-7285-v2.patch, 
 HADOOP-11566-HDFS-7285-v2.patch, HADOOP-11566-v1.patch


 Discussing with [~zhz] in HADOOP-11542: it's planned to have follow up a JIRA 
 to enhance the tests for parity chunks as well. Like erasedDataIndexes, 
 erasedParityIndexes will be added to specify which parity units are to be 
 erased and recovered then.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)