CHANGES.txt 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482
  1. Hadoop Change Log
  2. Trunk (unreleased changes)
  3. 1. HADOOP-763. Change DFS namenode benchmark to not use MapReduce.
  4. (Nigel Daley via cutting)
  5. 2. HADOOP-777. Use fully-qualified hostnames for tasktrackers and
  6. datanodes. (Mahadev Konar via cutting)
  7. 3. HADOOP-621. Change 'dfs -cat' to exit sooner when output has been
  8. closed. (Dhruba Borthakur via cutting)
  9. 4. HADOOP-752. Rationalize some synchronization in DFS namenode.
  10. (Dhruba Borthakur via cutting)
  11. 5. HADOOP-629. Fix RPC services to better check the protocol name and
  12. version. (omalley via cutting)
  13. 6. HADOOP-774. Limit the number of invalid blocks returned with
  14. heartbeats by the namenode to datanodes. Transmitting and
  15. processing very large invalid block lists can tie up both the
  16. namenode and datanode for too long. (Dhruba Borthakur via cutting)
  17. 7. HADOOP-738. Change 'dfs -get' command to not create CRC files by
  18. default, adding a -crc option to force their creation.
  19. (Milind Bhandarkar via cutting)
  20. 8. HADOOP-676. Improved exceptions and error messages for common job
  21. input specification errors. (Sanjay Dahiya via cutting)
  22. 9. [Included in 0.9.2 release]
  23. 10. HADOOP-756. Add new dfsadmin option to wait for filesystem to be
  24. operational. (Dhruba Borthakur via cutting)
  25. 11. HADOOP-770. Fix jobtracker web interface to display, on restart,
  26. jobs that were running when it was last stopped.
  27. (Sanjay Dahiya via cutting)
  28. 12. HADOOP-331. Write all map outputs to a single file with an index,
  29. rather than to a separate file per reduce task. This should both
  30. speed the shuffle and make things more scalable.
  31. (Devaraj Das via cutting)
  32. 13. HADOOP-818. Fix contrib unit tests to not depend on core unit
  33. tests. (omalley via cutting)
  34. 14. HADOOP-786. Log common exception at debug level.
  35. (Sanjay Dahiya via cutting)
  36. 15. HADOOP-796. Provide more convenient access to failed task
  37. information in the web interface. (Sanjay Dahiya via cutting)
  38. 16. HADOOP-764. Reduce memory allocations in namenode some.
  39. (Dhruba Borthakur via cutting)
  40. 17. HADOOP-802. Update description of mapred.speculative.execution to
  41. mention reduces. (Nigel Daley via cutting)
  42. 18. HADOOP-806. Include link to datanodes on front page of namenode
  43. web interface. (Raghu Angadi via cutting)
  44. 19. HADOOP-618. Make JobSubmissionProtocol public.
  45. (Arun C Murthy via cutting)
  46. 20. HADOOP-782. Fully remove killed tasks. (Arun C Murthy via cutting)
  47. 21. HADOOP-792. Fix 'dfs -mv' to return correct status.
  48. (Dhruba Borthakur via cutting)
  49. 22. HADOOP-673. Give each task its own working directory again.
  50. (Mahadev Konar via cutting)
  51. 23. HADOOP-571. Extend the syntax of Path to be a URI; to be
  52. optionally qualified with a scheme and authority. The scheme
  53. determines the FileSystem implementation, while the authority
  54. determines the FileSystem instance. New FileSystem
  55. implementations may be provided by defining an fs.<scheme>.impl
  56. property, naming the FileSystem implementation class. This
  57. permits easy integration of new FileSystem implementations.
  58. (cutting)
  59. 24. HADOOP-720. Add an HDFS white paper to website.
  60. (Dhruba Borthakur via cutting)
  61. 25. HADOOP-794. Fix a divide-by-zero exception when a job specifies
  62. zero map tasks. (omalley via cutting)
  63. 26. HADOOP-454. Add a 'dfs -dus' command that provides summary disk
  64. usage. (Hairong Kuang via cutting)
  65. 27. HADOOP-574. Add an Amazon S3 implementation of FileSystem. To
  66. use this, one need only specify paths of the form
  67. s3://id:secret@bucket/. Alternately, the AWS access key id and
  68. secret can be specified in your config, with the properties
  69. fs.s3.awsAccessKeyId and fs.s3.awsSecretAccessKey.
  70. (Tom White via cutting)
  71. 28. HADOOP-824. Rename DFSShell to be FsShell, since it applies
  72. generically to all FileSystem implementations. (cutting)
  73. 29. HADOOP-813. Fix map output sorting to report progress, so that
  74. sorts which take longer than the task timeout do not fail.
  75. (Devaraj Das via cutting)
  76. 30. HADOOP-825. Fix HDFS daemons when configured with new URI syntax.
  77. (omalley via cutting)
  78. 31. HADOOP-596. Fix a bug in phase reporting during reduce.
  79. (Sanjay Dahiya via cutting)
  80. 32. HADOOP-811. Add a utility, MultithreadedMapRunner.
  81. (Alejandro Abdelnur via cutting)
  82. 33. HADOOP-829. Within HDFS, clearly separate three different
  83. representations for datanodes: one for RPCs, one for
  84. namenode-internal use, and one for namespace persistence.
  85. (Dhruba Borthakur via cutting)
  86. 34. HADOOP-823. Fix problem starting datanode when not all configured
  87. data directories exist. (Bryan Pendleton via cutting)
  88. 35. HADOOP-451. Add a Split interface. CAUTION: This incompatibly
  89. changes the InputFormat and RecordReader interfaces. Not only is
  90. FileSplit replaced with Split, but a FileSystem parameter is no
  91. longer passed in several methods, input validation has changed,
  92. etc. (omalley via cutting)
  93. 36. HADOOP-814. Optimize locking in namenode. (Dhruba Borthakur via cutting)
  94. 37. HADOOP-738. Change 'fs -put' and 'fs -get' commands to accept
  95. standard input and output, respectively. Standard i/o is
  96. specified by a file named '-'. (Wendy Chien via cutting)
  97. 38. HADOOP-835. Fix a NullPointerException reading record-compressed
  98. SequenceFiles. (Hairong Kuang via cutting)
  99. 39. HADOOP-836. Fix a MapReduce bug on Windows, where the wrong
  100. FileSystem was used. Also add a static FileSystem.getLocal()
  101. method and better Path checking in HDFS, to help avoid such issues
  102. in the future. (omalley via cutting)
  103. 40. HADOOP-837. Improve RunJar utility to unpack jar file
  104. hadoop.tmp.dir, rather than the system temporary directory.
  105. (Hairong Kuang via cutting)
  106. 41. HADOOP-841. Fix native library to build 32-bit version even when
  107. on a 64-bit host, if a 32-bit JVM is used. (Arun C Murthy via cutting)
  108. 42. HADOOP-838. Fix tasktracker to pass java.library.path to
  109. sub-processes, so that libhadoop.a is found.
  110. (Arun C Murthy via cutting)
  111. 43. HADOOP-844. Send metrics messages on a fixed-delay schedule
  112. instead of a fixed-rate schedule. (David Bowen via cutting)
  113. 44. HADOOP-849. Fix OutOfMemory exceptions in TaskTracker due to a
  114. file handle leak in SequenceFile. (Devaraj Das via cutting)
  115. 45. HADOOP-745. Fix a synchronization bug in the HDFS namenode.
  116. (Dhruba Borthakur via cutting)
  117. 46. HADOOP-850. Add Writable implementations for variable-length
  118. integers. (ab via cutting)
  119. 47. HADOOP-525. Add raw comparators to record types. This greatly
  120. improves record sort performance. (Milind Bhandarkar via cutting)
  121. 48. HADOOP-628. Fix a problem with 'fs -cat' command, where some
  122. characters were replaced with question marks. (Wendy Chien via cutting)
  123. Release 0.9.2 - 2006-12-15
  124. 1. HADOOP-639. Restructure InterTrackerProtocol to make task
  125. accounting more reliable. (Arun C Murthy via cutting)
  126. 2. HADOOP-827. Turn off speculative execution by default, since it's
  127. currently broken. (omalley via cutting)
  128. 3. HADOOP-791. Fix a deadlock in the task tracker.
  129. (Mahadev Konar via cutting)
  130. Release 0.9.1 - 2006-12-06
  131. 1. HADOOP-780. Use ReflectionUtils to instantiate key and value
  132. objects. (ab)
  133. 2. HADOOP-779. Fix contrib/streaming to work correctly with gzipped
  134. input files. (Hairong Kuang via cutting)
  135. Release 0.9.0 - 2006-12-01
  136. 1. HADOOP-655. Remove most deprecated code. A few deprecated things
  137. remain, notably UTF8 and some methods that are still required.
  138. Also cleaned up constructors for SequenceFile, MapFile, SetFile,
  139. and ArrayFile a bit. (cutting)
  140. 2. HADOOP-565. Upgrade to Jetty version 6. (Sanjay Dahiya via cutting)
  141. 3. HADOOP-682. Fix DFS format command to work correctly when
  142. configured with a non-existent directory. (Sanjay Dahiya via cutting)
  143. 4. HADOOP-645. Fix a bug in contrib/streaming when -reducer is NONE.
  144. (Dhruba Borthakur via cutting)
  145. 5. HADOOP-687. Fix a classpath bug in bin/hadoop that blocked the
  146. servers from starting. (Sameer Paranjpye via omalley)
  147. 6. HADOOP-683. Remove a script dependency on bash, so it works with
  148. dash, the new default for /bin/sh on Ubuntu. (James Todd via cutting)
  149. 7. HADOOP-382. Extend unit tests to run multiple datanodes.
  150. (Milind Bhandarkar via cutting)
  151. 8. HADOOP-604. Fix some synchronization issues and a
  152. NullPointerException in DFS datanode. (Raghu Angadi via cutting)
  153. 9. HADOOP-459. Fix memory leaks and a host of other issues with
  154. libhdfs. (Sameer Paranjpye via cutting)
  155. 10. HADOOP-694. Fix a NullPointerException in jobtracker.
  156. (Mahadev Konar via cutting)
  157. 11. HADOOP-637. Fix a memory leak in the IPC server. Direct buffers
  158. are not collected like normal buffers, and provided little
  159. advantage. (Raghu Angadi via cutting)
  160. 12. HADOOP-696. Fix TestTextInputFormat unit test to not rely on the
  161. order of directory listings. (Sameer Paranjpye via cutting)
  162. 13. HADOOP-611. Add support for iterator-based merging to
  163. SequenceFile. (Devaraj Das via cutting)
  164. 14. HADOOP-688. Move DFS administrative commands to a separate
  165. command named 'dfsadmin'. (Dhruba Borthakur via cutting)
  166. 15. HADOOP-708. Fix test-libhdfs to return the correct status, so
  167. that failures will break the build. (Nigel Daley via cutting)
  168. 16. HADOOP-646. Fix namenode to handle edits files larger than 2GB.
  169. (Milind Bhandarkar via cutting)
  170. 17. HADOOP-705. Fix a bug in the JobTracker when failed jobs were
  171. not completely cleaned up. (Mahadev Konar via cutting)
  172. 18. HADOOP-613. Perform final merge while reducing. This removes one
  173. sort pass over the data and should consequently significantly
  174. decrease overall processing time. (Devaraj Das via cutting)
  175. 19. HADOOP-661. Make each job's configuration visible through the web
  176. ui. (Arun C Murthy via cutting)
  177. 20. HADOOP-489. In MapReduce, separate user logs from system logs.
  178. Each task's log output is now available through the web ui. (Arun
  179. C Murthy via cutting)
  180. 21. HADOOP-712. Fix record io's xml serialization to correctly handle
  181. control-characters. (Milind Bhandarkar via cutting)
  182. 22. HADOOP-668. Improvements to the web-based DFS browser.
  183. (Hairong Kuang via cutting)
  184. 23. HADOOP-715. Fix build.xml so that test logs are written in build
  185. directory, rather than in CWD. (Arun C Murthy via cutting)
  186. 24. HADOOP-538. Add support for building an optional native library,
  187. libhadoop.so, that improves the performance of zlib-based
  188. compression. To build this, specify -Dcompile.native to Ant.
  189. (Arun C Murthy via cutting)
  190. 25. HADOOP-610. Fix an problem when the DFS block size is configured
  191. to be smaller than the buffer size, typically only when debugging.
  192. (Milind Bhandarkar via cutting)
  193. 26. HADOOP-695. Fix a NullPointerException in contrib/streaming.
  194. (Hairong Kuang via cutting)
  195. 27. HADOOP-652. In DFS, when a file is deleted, the block count is
  196. now decremented. (Vladimir Krokhmalyov via cutting)
  197. 28. HADOOP-725. In DFS, optimize block placement algorithm,
  198. previously a performance bottleneck. (Milind Bhandarkar via cutting)
  199. 29. HADOOP-723. In MapReduce, fix a race condition during the
  200. shuffle, which resulted in FileNotFoundExceptions. (omalley via cutting)
  201. 30. HADOOP-447. In DFS, fix getBlockSize(Path) to work with relative
  202. paths. (Raghu Angadi via cutting)
  203. 31. HADOOP-733. Make exit codes in DFShell consistent and add a unit
  204. test. (Dhruba Borthakur via cutting)
  205. 32. HADOOP-709. Fix contrib/streaming to work with commands that
  206. contain control characters. (Dhruba Borthakur via cutting)
  207. 33. HADOOP-677. In IPC, permit a version header to be transmitted
  208. when connections are established. This will permit us to change
  209. the format of IPC requests back-compatibly in subsequent releases.
  210. (omalley via cutting)
  211. 34. HADOOP-699. Fix DFS web interface so that filesystem browsing
  212. works correctly, using the right port number. Also add support
  213. for sorting datanode list by various columns.
  214. (Raghu Angadi via cutting)
  215. 35. HADOOP-76. Implement speculative reduce. Now when a job is
  216. configured for speculative execution, both maps and reduces will
  217. execute speculatively. Reduce outputs are written to temporary
  218. location and moved to the final location when reduce is complete.
  219. (Sanjay Dahiya via cutting)
  220. 36. HADOOP-736. Roll back to Jetty 5.1.4, due to performance problems
  221. with Jetty 6.0.1.
  222. 37. HADOOP-739. Fix TestIPC to use different port number, making it
  223. more reliable. (Nigel Daley via cutting)
  224. 38. HADOOP-749. Fix a NullPointerException in jobfailures.jsp.
  225. (omalley via cutting)
  226. 39. HADOOP-747. Fix record serialization to work correctly when
  227. records are embedded in Maps. (Milind Bhandarkar via cutting)
  228. 40. HADOOP-698. Fix HDFS client not to retry the same datanode on
  229. read failures. (Milind Bhandarkar via cutting)
  230. 41. HADOOP-689. Add GenericWritable, to facilitate polymorphism in
  231. MapReduce, SequenceFile, etc. (Feng Jiang via cutting)
  232. 42. HADOOP-430. Stop datanode's HTTP server when registration with
  233. namenode fails. (Wendy Chien via cutting)
  234. 43. HADOOP-750. Fix a potential race condition during mapreduce
  235. shuffle. (omalley via cutting)
  236. 44. HADOOP-728. Fix contrib/streaming-related issues, including
  237. '-reducer NONE'. (Sanjay Dahiya via cutting)
  238. Release 0.8.0 - 2006-11-03
  239. 1. HADOOP-477. Extend contrib/streaming to scan the PATH environment
  240. variables when resolving executable program names.
  241. (Dhruba Borthakur via cutting)
  242. 2. HADOOP-583. In DFSClient, reduce the log level of re-connect
  243. attempts from 'info' to 'debug', so they are not normally shown.
  244. (Konstantin Shvachko via cutting)
  245. 3. HADOOP-498. Re-implement DFS integrity checker to run server-side,
  246. for much improved performance. (Milind Bhandarkar via cutting)
  247. 4. HADOOP-586. Use the jar name for otherwise un-named jobs.
  248. (Sanjay Dahiya via cutting)
  249. 5. HADOOP-514. Make DFS heartbeat interval configurable.
  250. (Milind Bhandarkar via cutting)
  251. 6. HADOOP-588. Fix logging and accounting of failed tasks.
  252. (Sanjay Dahiya via cutting)
  253. 7. HADOOP-462. Improve command line parsing in DFSShell, so that
  254. incorrect numbers of arguments result in informative errors rather
  255. than ArrayOutOfBoundsException. (Dhruba Borthakur via cutting)
  256. 8. HADOOP-561. Fix DFS so that one replica of each block is written
  257. locally, if possible. This was the intent, but there as a bug.
  258. (Dhruba Borthakur via cutting)
  259. 9. HADOOP-610. Fix TaskTracker to survive more exceptions, keeping
  260. tasks from becoming lost. (omalley via cutting)
  261. 10. HADOOP-625. Add a servlet to all http daemons that displays a
  262. stack dump, useful for debugging. (omalley via cutting)
  263. 11. HADOOP-554. Fix DFSShell to return -1 for errors.
  264. (Dhruba Borthakur via cutting)
  265. 12. HADOOP-626. Correct the documentation in the NNBench example
  266. code, and also remove a mistaken call there.
  267. (Nigel Daley via cutting)
  268. 13. HADOOP-634. Add missing license to many files.
  269. (Nigel Daley via cutting)
  270. 14. HADOOP-627. Fix some synchronization problems in MiniMRCluster
  271. that sometimes caused unit tests to fail. (Nigel Daley via cutting)
  272. 15. HADOOP-563. Improve the NameNode's lease policy so that leases
  273. are held for one hour without renewal (instead of one minute).
  274. However another attempt to create the same file will still succeed
  275. if the lease has not been renewed within a minute. This prevents
  276. communication or scheduling problems from causing a write to fail
  277. for up to an hour, barring some other process trying to create the
  278. same file. (Dhruba Borthakur via cutting)
  279. 16. HADOOP-635. In DFSShell, permit specification of multiple files
  280. as the source for file copy and move commands.
  281. (Dhruba Borthakur via cutting)
  282. 17. HADOOP-641. Change NameNode to request a fresh block report from
  283. a re-discovered DataNode, so that no-longer-needed replications
  284. are stopped promptly. (Konstantin Shvachko via cutting)
  285. 18. HADOOP-642. Change IPC client to specify an explicit connect
  286. timeout. (Konstantin Shvachko via cutting)
  287. 19. HADOOP-638. Fix an unsynchronized access to TaskTracker's
  288. internal state. (Nigel Daley via cutting)
  289. 20. HADOOP-624. Fix servlet path to stop a Jetty warning on startup.
  290. (omalley via cutting)
  291. 21. HADOOP-578. Failed tasks are no longer placed at the end of the
  292. task queue. This was originally done to work around other
  293. problems that have now been fixed. Re-executing failed tasks
  294. sooner causes buggy jobs to fail faster. (Sanjay Dahiya via cutting)
  295. 22. HADOOP-658. Update source file headers per Apache policy. (cutting)
  296. 23. HADOOP-636. Add MapFile & ArrayFile constructors which accept a
  297. Progressable, and pass it down to SequenceFile. This permits
  298. reduce tasks which use MapFile to still report progress while
  299. writing blocks to the filesystem. (cutting)
  300. 24. HADOOP-576. Enable contrib/streaming to use the file cache. Also
  301. extend the cache to permit symbolic links to cached items, rather
  302. than local file copies. (Mahadev Konar via cutting)
  303. 25. HADOOP-482. Fix unit tests to work when a cluster is running on
  304. the same machine, removing port conflicts. (Wendy Chien via cutting)
  305. 26. HADOOP-90. Permit dfs.name.dir to list multiple directories,
  306. where namenode data is to be replicated. (Milind Bhandarkar via cutting)
  307. 27. HADOOP-651. Fix DFSCk to correctly pass parameters to the servlet
  308. on the namenode. (Milind Bhandarkar via cutting)
  309. 28. HADOOP-553. Change main() routines of DataNode and NameNode to
  310. log exceptions rather than letting the JVM print them to standard
  311. error. Also, change the hadoop-daemon.sh script to rotate
  312. standard i/o log files. (Raghu Angadi via cutting)
  313. 29. HADOOP-399. Fix javadoc warnings. (Nigel Daley via cutting)
  314. 30. HADOOP-599. Fix web ui and command line to correctly report DFS
  315. filesystem size statistics. Also improve web layout.
  316. (Raghu Angadi via cutting)
  317. 31. HADOOP-660. Permit specification of junit test output format.
  318. (Nigel Daley via cutting)
  319. 32. HADOOP-663. Fix a few unit test issues. (Mahadev Konar via cutting)
  320. 33. HADOOP-664. Cause entire build to fail if libhdfs tests fail.
  321. (Nigel Daley via cutting)
  322. 34. HADOOP-633. Keep jobtracker from dying when job initialization
  323. throws exceptions. Also improve exception handling in a few other
  324. places and add more informative thread names.
  325. (omalley via cutting)
  326. 35. HADOOP-669. Fix a problem introduced by HADOOP-90 that can cause
  327. DFS to lose files. (Milind Bhandarkar via cutting)
  328. 36. HADOOP-373. Consistently check the value returned by
  329. FileSystem.mkdirs(). (Wendy Chien via cutting)
  330. 37. HADOOP-670. Code cleanups in some DFS internals: use generic
  331. types, replace Vector with ArrayList, etc.
  332. (Konstantin Shvachko via cutting)
  333. 38. HADOOP-647. Permit map outputs to use a different compression
  334. type than the job output. (omalley via cutting)
  335. 39. HADOOP-671. Fix file cache to check for pre-existence before
  336. creating . (Mahadev Konar via cutting)
  337. 40. HADOOP-665. Extend many DFSShell commands to accept multiple
  338. arguments. Now commands like "ls", "rm", etc. will operate on
  339. multiple files. (Dhruba Borthakur via cutting)
  340. Release 0.7.2 - 2006-10-18
  341. 1. HADOOP-607. Fix a bug where classes included in job jars were not
  342. found by tasks. (Mahadev Konar via cutting)
  343. 2. HADOOP-609. Add a unit test that checks that classes in job jars
  344. can be found by tasks. Also modify unit tests to specify multiple
  345. local directories. (Mahadev Konar via cutting)
  346. Release 0.7.1 - 2006-10-11
  347. 1. HADOOP-593. Fix a NullPointerException in the JobTracker.
  348. (omalley via cutting)
  349. 2. HADOOP-592. Fix a NullPointerException in the IPC Server. Also
  350. consistently log when stale calls are discarded. (omalley via cutting)
  351. 3. HADOOP-594. Increase the DFS safe-mode threshold from .95 to
  352. .999, so that nearly all blocks must be reported before filesystem
  353. modifications are permitted. (Konstantin Shvachko via cutting)
  354. 4. HADOOP-598. Fix tasks to retry when reporting completion, so that
  355. a single RPC timeout won't fail a task. (omalley via cutting)
  356. 5. HADOOP-597. Fix TaskTracker to not discard map outputs for errors
  357. in transmitting them to reduce nodes. (omalley via cutting)
  358. Release 0.7.0 - 2006-10-06
  359. 1. HADOOP-243. Fix rounding in the display of task and job progress
  360. so that things are not shown to be 100% complete until they are in
  361. fact finished. (omalley via cutting)
  362. 2. HADOOP-438. Limit the length of absolute paths in DFS, since the
  363. file format used to store pathnames has some limitations.
  364. (Wendy Chien via cutting)
  365. 3. HADOOP-530. Improve error messages in SequenceFile when keys or
  366. values are of the wrong type. (Hairong Kuang via cutting)
  367. 4. HADOOP-288. Add a file caching system and use it in MapReduce to
  368. cache job jar files on slave nodes. (Mahadev Konar via cutting)
  369. 5. HADOOP-533. Fix unit test to not modify conf directory.
  370. (Hairong Kuang via cutting)
  371. 6. HADOOP-527. Permit specification of the local address that various
  372. Hadoop daemons should bind to. (Philippe Gassmann via cutting)
  373. 7. HADOOP-542. Updates to contrib/streaming: reformatted source code,
  374. on-the-fly merge sort, a fix for HADOOP-540, etc.
  375. (Michel Tourn via cutting)
  376. 8. HADOOP-545. Remove an unused config file parameter.
  377. (Philippe Gassmann via cutting)
  378. 9. HADOOP-548. Add an Ant property "test.output" to build.xml that
  379. causes test output to be logged to the console. (omalley via cutting)
  380. 10. HADOOP-261. Record an error message when map output is lost.
  381. (omalley via cutting)
  382. 11. HADOOP-293. Report the full list of task error messages in the
  383. web ui, not just the most recent. (omalley via cutting)
  384. 12. HADOOP-551. Restore JobClient's console printouts to only include
  385. a maximum of one update per one percent of progress.
  386. (omalley via cutting)
  387. 13. HADOOP-306. Add a "safe" mode to DFS. The name node enters this
  388. when less than a specified percentage of file data is complete.
  389. Currently safe mode is only used on startup, but eventually it
  390. will also be entered when datanodes disconnect and file data
  391. becomes incomplete. While in safe mode no filesystem
  392. modifications are permitted and block replication is inhibited.
  393. (Konstantin Shvachko via cutting)
  394. 14. HADOOP-431. Change 'dfs -rm' to not operate recursively and add a
  395. new command, 'dfs -rmr' which operates recursively.
  396. (Sameer Paranjpye via cutting)
  397. 15. HADOOP-263. Include timestamps for job transitions. The web
  398. interface now displays the start and end times of tasks and the
  399. start times of sorting and reducing for reduce tasks. Also,
  400. extend ObjectWritable to handle enums, so that they can be passed
  401. as RPC parameters. (Sanjay Dahiya via cutting)
  402. 16. HADOOP-556. Contrib/streaming: send keep-alive reports to task
  403. tracker every 10 seconds rather than every 100 records, to avoid
  404. task timeouts. (Michel Tourn via cutting)
  405. 17. HADOOP-547. Fix reduce tasks to ping tasktracker while copying
  406. data, rather than only between copies, avoiding task timeouts.
  407. (Sanjay Dahiya via cutting)
  408. 18. HADOOP-537. Fix src/c++/libhdfs build process to create files in
  409. build/, no longer modifying the source tree.
  410. (Arun C Murthy via cutting)
  411. 19. HADOOP-487. Throw a more informative exception for unknown RPC
  412. hosts. (Sameer Paranjpye via cutting)
  413. 20. HADOOP-559. Add file name globbing (pattern matching) support to
  414. the FileSystem API, and use it in DFSShell ('bin/hadoop dfs')
  415. commands. (Hairong Kuang via cutting)
  416. 21. HADOOP-508. Fix a bug in FSDataInputStream. Incorrect data was
  417. returned after seeking to a random location.
  418. (Milind Bhandarkar via cutting)
  419. 22. HADOOP-560. Add a "killed" task state. This can be used to
  420. distinguish kills from other failures. Task state has also been
  421. converted to use an enum type instead of an int, uncovering a bug
  422. elsewhere. The web interface is also updated to display killed
  423. tasks. (omalley via cutting)
  424. 23. HADOOP-423. Normalize Paths containing directories named "." and
  425. "..", using the standard, unix interpretation. Also add checks in
  426. DFS, prohibiting the use of "." or ".." as directory or file
  427. names. (Wendy Chien via cutting)
  428. 24. HADOOP-513. Replace map output handling with a servlet, rather
  429. than a JSP page. This fixes an issue where
  430. IllegalStateException's were logged, sets content-length
  431. correctly, and better handles some errors. (omalley via cutting)
  432. 25. HADOOP-552. Improved error checking when copying map output files
  433. to reduce nodes. (omalley via cutting)
  434. 26. HADOOP-566. Fix scripts to work correctly when accessed through
  435. relative symbolic links. (Lee Faris via cutting)
  436. 27. HADOOP-519. Add positioned read methods to FSInputStream. These
  437. permit one to read from a stream without moving its position, and
  438. can hence be performed by multiple threads at once on a single
  439. stream. Implement an optimized version for DFS and local FS.
  440. (Milind Bhandarkar via cutting)
  441. 28. HADOOP-522. Permit block compression with MapFile and SetFile.
  442. Since these formats are always sorted, block compression can
  443. provide a big advantage. (cutting)
  444. 29. HADOOP-567. Record version and revision information in builds. A
  445. package manifest is added to the generated jar file containing
  446. version information, and a VersionInfo utility is added that
  447. includes further information, including the build date and user,
  448. and the subversion revision and repository. A 'bin/hadoop
  449. version' comand is added to show this information, and it is also
  450. added to various web interfaces. (omalley via cutting)
  451. 30. HADOOP-568. Fix so that errors while initializing tasks on a
  452. tasktracker correctly report the task as failed to the jobtracker,
  453. so that it will be rescheduled. (omalley via cutting)
  454. 31. HADOOP-550. Disable automatic UTF-8 validation in Text. This
  455. permits, e.g., TextInputFormat to again operate on non-UTF-8 data.
  456. (Hairong and Mahadev via cutting)
  457. 32. HADOOP-343. Fix mapred copying so that a failed tasktracker
  458. doesn't cause other copies to slow. (Sameer Paranjpye via cutting)
  459. 33. HADOOP-239. Add a persistent job history mechanism, so that basic
  460. job statistics are not lost after 24 hours and/or when the
  461. jobtracker is restarted. (Sanjay Dahiya via cutting)
  462. 34. HADOOP-506. Ignore heartbeats from stale task trackers.
  463. (Sanjay Dahiya via cutting)
  464. 35. HADOOP-255. Discard stale, queued IPC calls. Do not process
  465. calls whose clients will likely time out before they receive a
  466. response. When the queue is full, new calls are now received and
  467. queued, and the oldest calls are discarded, so that, when servers
  468. get bogged down, they no longer develop a backlog on the socket.
  469. This should improve some DFS namenode failure modes.
  470. (omalley via cutting)
  471. 36. HADOOP-581. Fix datanode to not reset itself on communications
  472. errors with the namenode. If a request to the namenode fails, the
  473. datanode should retry, not restart. This reduces the load on the
  474. namenode, since restarts cause a resend of the block report.
  475. (omalley via cutting)
  476. Release 0.6.2 - 2006-09-18
  477. 1. HADOOP-532. Fix a bug reading value-compressed sequence files,
  478. where an exception was thrown reporting that the full value had not
  479. been read. (omalley via cutting)
  480. 2. HADOOP-534. Change the default value class in JobConf to be Text
  481. instead of the now-deprecated UTF8. This fixes the Grep example
  482. program, which was updated to use Text, but relies on this
  483. default. (Hairong Kuang via cutting)
  484. Release 0.6.1 - 2006-09-13
  485. 1. HADOOP-520. Fix a bug in libhdfs, where write failures were not
  486. correctly returning error codes. (Arun C Murthy via cutting)
  487. 2. HADOOP-523. Fix a NullPointerException when TextInputFormat is
  488. explicitly specified. Also add a test case for this.
  489. (omalley via cutting)
  490. 3. HADOOP-521. Fix another NullPointerException finding the
  491. ClassLoader when using libhdfs. (omalley via cutting)
  492. 4. HADOOP-526. Fix a NullPointerException when attempting to start
  493. two datanodes in the same directory. (Milind Bhandarkar via cutting)
  494. 5. HADOOP-529. Fix a NullPointerException when opening
  495. value-compressed sequence files generated by pre-0.6.0 Hadoop.
  496. (omalley via cutting)
  497. Release 0.6.0 - 2006-09-08
  498. 1. HADOOP-427. Replace some uses of DatanodeDescriptor in the DFS
  499. web UI code with DatanodeInfo, the preferred public class.
  500. (Devaraj Das via cutting)
  501. 2. HADOOP-426. Fix streaming contrib module to work correctly on
  502. Solaris. This was causing nightly builds to fail.
  503. (Michel Tourn via cutting)
  504. 3. HADOOP-400. Improvements to task assignment. Tasks are no longer
  505. re-run on nodes where they have failed (unless no other node is
  506. available). Also, tasks are better load-balanced among nodes.
  507. (omalley via cutting)
  508. 4. HADOOP-324. Fix datanode to not exit when a disk is full, but
  509. rather simply to fail writes. (Wendy Chien via cutting)
  510. 5. HADOOP-434. Change smallJobsBenchmark to use standard Hadoop
  511. scripts. (Sanjay Dahiya via cutting)
  512. 6. HADOOP-453. Fix a bug in Text.setCapacity(). (siren via cutting)
  513. 7. HADOOP-450. Change so that input types are determined by the
  514. RecordReader rather than specified directly in the JobConf. This
  515. facilitates jobs with a variety of input types.
  516. WARNING: This contains incompatible API changes! The RecordReader
  517. interface has two new methods that all user-defined InputFormats
  518. must now define. Also, the values returned by TextInputFormat are
  519. no longer of class UTF8, but now of class Text.
  520. 8. HADOOP-436. Fix an error-handling bug in the web ui.
  521. (Devaraj Das via cutting)
  522. 9. HADOOP-455. Fix a bug in Text, where DEL was not permitted.
  523. (Hairong Kuang via cutting)
  524. 10. HADOOP-456. Change the DFS namenode to keep a persistent record
  525. of the set of known datanodes. This will be used to implement a
  526. "safe mode" where filesystem changes are prohibited when a
  527. critical percentage of the datanodes are unavailable.
  528. (Konstantin Shvachko via cutting)
  529. 11. HADOOP-322. Add a job control utility. This permits one to
  530. specify job interdependencies. Each job is submitted only after
  531. the jobs it depends on have successfully completed.
  532. (Runping Qi via cutting)
  533. 12. HADOOP-176. Fix a bug in IntWritable.Comparator.
  534. (Dick King via cutting)
  535. 13. HADOOP-421. Replace uses of String in recordio package with Text
  536. class, for improved handling of UTF-8 data.
  537. (Milind Bhandarkar via cutting)
  538. 14. HADOOP-464. Improved error message when job jar not found.
  539. (Michel Tourn via cutting)
  540. 15. HADOOP-469. Fix /bin/bash specifics that have crept into our
  541. /bin/sh scripts since HADOOP-352.
  542. (Jean-Baptiste Quenot via cutting)
  543. 16. HADOOP-468. Add HADOOP_NICENESS environment variable to set
  544. scheduling priority for daemons. (Vetle Roeim via cutting)
  545. 17. HADOOP-473. Fix TextInputFormat to correctly handle more EOL
  546. formats. Things now work correctly with CR, LF or CRLF.
  547. (Dennis Kubes & James White via cutting)
  548. 18. HADOOP-461. Make Java 1.5 an explicit requirement. (cutting)
  549. 19. HADOOP-54. Add block compression to SequenceFile. One may now
  550. specify that blocks of keys and values are compressed together,
  551. improving compression for small keys and values.
  552. SequenceFile.Writer's constructor is now deprecated and replaced
  553. with a factory method. (Arun C Murthy via cutting)
  554. 20. HADOOP-281. Prohibit DFS files that are also directories.
  555. (Wendy Chien via cutting)
  556. 21. HADOOP-486. Add the job username to JobStatus instances returned
  557. by JobClient. (Mahadev Konar via cutting)
  558. 22. HADOOP-437. contrib/streaming: Add support for gzipped inputs.
  559. (Michel Tourn via cutting)
  560. 23. HADOOP-463. Add variable expansion to config files.
  561. Configuration property values may now contain variable
  562. expressions. A variable is referenced with the syntax
  563. '${variable}'. Variables values are found first in the
  564. configuration, and then in Java system properties. The default
  565. configuration is modified so that temporary directories are now
  566. under ${hadoop.tmp.dir}, which is, by default,
  567. /tmp/hadoop-${user.name}. (Michel Tourn via cutting)
  568. 24. HADOOP-419. Fix a NullPointerException finding the ClassLoader
  569. when using libhdfs. (omalley via cutting)
  570. 25. HADOOP-460. Fix contrib/smallJobsBenchmark to use Text instead of
  571. UTF8. (Sanjay Dahiya via cutting)
  572. 26. HADOOP-196. Fix Configuration(Configuration) constructor to work
  573. correctly. (Sami Siren via cutting)
  574. 27. HADOOP-501. Fix Configuration.toString() to handle URL resources.
  575. (Thomas Friol via cutting)
  576. 28. HADOOP-499. Reduce the use of Strings in contrib/streaming,
  577. replacing them with Text for better performance.
  578. (Hairong Kuang via cutting)
  579. 29. HADOOP-64. Manage multiple volumes with a single DataNode.
  580. Previously DataNode would create a separate daemon per configured
  581. volume, each with its own connection to the NameNode. Now all
  582. volumes are handled by a single DataNode daemon, reducing the load
  583. on the NameNode. (Milind Bhandarkar via cutting)
  584. 30. HADOOP-424. Fix MapReduce so that jobs which generate zero splits
  585. do not fail. (Frédéric Bertin via cutting)
  586. 31. HADOOP-408. Adjust some timeouts and remove some others so that
  587. unit tests run faster. (cutting)
  588. 32. HADOOP-507. Fix an IllegalAccessException in DFS.
  589. (omalley via cutting)
  590. 33. HADOOP-320. Fix so that checksum files are correctly copied when
  591. the destination of a file copy is a directory.
  592. (Hairong Kuang via cutting)
  593. 34. HADOOP-286. In DFSClient, avoid pinging the NameNode with
  594. renewLease() calls when no files are being written.
  595. (Konstantin Shvachko via cutting)
  596. 35. HADOOP-312. Close idle IPC connections. All IPC connections were
  597. cached forever. Now, after a connection has been idle for more
  598. than a configurable amount of time (one second by default), the
  599. connection is closed, conserving resources on both client and
  600. server. (Devaraj Das via cutting)
  601. 36. HADOOP-497. Permit the specification of the network interface and
  602. nameserver to be used when determining the local hostname
  603. advertised by datanodes and tasktrackers.
  604. (Lorenzo Thione via cutting)
  605. 37. HADOOP-441. Add a compression codec API and extend SequenceFile
  606. to use it. This will permit the use of alternate compression
  607. codecs in SequenceFile. (Arun C Murthy via cutting)
  608. 38. HADOOP-483. Improvements to libhdfs build and documentation.
  609. (Arun C Murthy via cutting)
  610. 39. HADOOP-458. Fix a memory corruption bug in libhdfs.
  611. (Arun C Murthy via cutting)
  612. 40. HADOOP-517. Fix a contrib/streaming bug in end-of-line detection.
  613. (Hairong Kuang via cutting)
  614. 41. HADOOP-474. Add CompressionCodecFactory, and use it in
  615. TextInputFormat and TextOutputFormat. Compressed input files are
  616. automatically decompressed when they have the correct extension.
  617. Output files will, when output compression is specified, be
  618. generated with an approprate extension. Also add a gzip codec and
  619. fix problems with UTF8 text inputs. (omalley via cutting)
  620. Release 0.5.0 - 2006-08-04
  621. 1. HADOOP-352. Fix shell scripts to use /bin/sh instead of
  622. /bin/bash, for better portability.
  623. (Jean-Baptiste Quenot via cutting)
  624. 2. HADOOP-313. Permit task state to be saved so that single tasks
  625. may be manually re-executed when debugging. (omalley via cutting)
  626. 3. HADOOP-339. Add method to JobClient API listing jobs that are
  627. not yet complete, i.e., that are queued or running.
  628. (Mahadev Konar via cutting)
  629. 4. HADOOP-355. Updates to the streaming contrib module, including
  630. API fixes, making reduce optional, and adding an input type for
  631. StreamSequenceRecordReader. (Michel Tourn via cutting)
  632. 5. HADOOP-358. Fix a NPE bug in Path.equals().
  633. (Frédéric Bertin via cutting)
  634. 6. HADOOP-327. Fix ToolBase to not call System.exit() when
  635. exceptions are thrown. (Hairong Kuang via cutting)
  636. 7. HADOOP-359. Permit map output to be compressed.
  637. (omalley via cutting)
  638. 8. HADOOP-341. Permit input URI to CopyFiles to use the HTTP
  639. protocol. This lets one, e.g., more easily copy log files into
  640. DFS. (Arun C Murthy via cutting)
  641. 9. HADOOP-361. Remove unix dependencies from streaming contrib
  642. module tests, making them pure java. (Michel Tourn via cutting)
  643. 10. HADOOP-354. Make public methods to stop DFS daemons.
  644. (Barry Kaplan via cutting)
  645. 11. HADOOP-252. Add versioning to RPC protocols.
  646. (Milind Bhandarkar via cutting)
  647. 12. HADOOP-356. Add contrib to "compile" and "test" build targets, so
  648. that this code is better maintained. (Michel Tourn via cutting)
  649. 13. HADOOP-307. Add smallJobsBenchmark contrib module. This runs
  650. lots of small jobs, in order to determine per-task overheads.
  651. (Sanjay Dahiya via cutting)
  652. 14. HADOOP-342. Add a tool for log analysis: Logalyzer.
  653. (Arun C Murthy via cutting)
  654. 15. HADOOP-347. Add web-based browsing of DFS content. The namenode
  655. redirects browsing requests to datanodes. Content requests are
  656. redirected to datanodes where the data is local when possible.
  657. (Devaraj Das via cutting)
  658. 16. HADOOP-351. Make Hadoop IPC kernel independent of Jetty.
  659. (Devaraj Das via cutting)
  660. 17. HADOOP-237. Add metric reporting to DFS and MapReduce. With only
  661. minor configuration changes, one can now monitor many Hadoop
  662. system statistics using Ganglia or other monitoring systems.
  663. (Milind Bhandarkar via cutting)
  664. 18. HADOOP-376. Fix datanode's HTTP server to scan for a free port.
  665. (omalley via cutting)
  666. 19. HADOOP-260. Add --config option to shell scripts, specifying an
  667. alternate configuration directory. (Milind Bhandarkar via cutting)
  668. 20. HADOOP-381. Permit developers to save the temporary files for
  669. tasks whose names match a regular expression, to facilliate
  670. debugging. (omalley via cutting)
  671. 21. HADOOP-344. Fix some Windows-related problems with DF.
  672. (Konstantin Shvachko via cutting)
  673. 22. HADOOP-380. Fix reduce tasks to poll less frequently for map
  674. outputs. (Mahadev Konar via cutting)
  675. 23. HADOOP-321. Refactor DatanodeInfo, in preparation for
  676. HADOOP-306. (Konstantin Shvachko & omalley via cutting)
  677. 24. HADOOP-385. Fix some bugs in record io code generation.
  678. (Milind Bhandarkar via cutting)
  679. 25. HADOOP-302. Add new Text class to replace UTF8, removing
  680. limitations of that class. Also refactor utility methods for
  681. writing zero-compressed integers (VInts and VLongs).
  682. (Hairong Kuang via cutting)
  683. 26. HADOOP-335. Refactor DFS namespace/transaction logging in
  684. namenode. (Konstantin Shvachko via cutting)
  685. 27. HADOOP-375. Fix handling of the datanode HTTP daemon's port so
  686. that multiple datanode's can be run on a single host.
  687. (Devaraj Das via cutting)
  688. 28. HADOOP-386. When removing excess DFS block replicas, remove those
  689. on nodes with the least free space first.
  690. (Johan Oskarson via cutting)
  691. 29. HADOOP-389. Fix intermittent failures of mapreduce unit tests.
  692. Also fix some build dependencies.
  693. (Mahadev & Konstantin via cutting)
  694. 30. HADOOP-362. Fix a problem where jobs hang when status messages
  695. are recieved out-of-order. (omalley via cutting)
  696. 31. HADOOP-394. Change order of DFS shutdown in unit tests to
  697. minimize errors logged. (Konstantin Shvachko via cutting)
  698. 32. HADOOP-396. Make DatanodeID implement Writable.
  699. (Konstantin Shvachko via cutting)
  700. 33. HADOOP-377. Permit one to add URL resources to a Configuration.
  701. (Jean-Baptiste Quenot via cutting)
  702. 34. HADOOP-345. Permit iteration over Configuration key/value pairs.
  703. (Michel Tourn via cutting)
  704. 35. HADOOP-409. Streaming contrib module: make configuration
  705. properties available to commands as environment variables.
  706. (Michel Tourn via cutting)
  707. 36. HADOOP-369. Add -getmerge option to dfs command that appends all
  708. files in a directory into a single local file.
  709. (Johan Oskarson via cutting)
  710. 37. HADOOP-410. Replace some TreeMaps with HashMaps in DFS, for
  711. a 17% performance improvement. (Milind Bhandarkar via cutting)
  712. 38. HADOOP-411. Add unit tests for command line parser.
  713. (Hairong Kuang via cutting)
  714. 39. HADOOP-412. Add MapReduce input formats that support filtering
  715. of SequenceFile data, including sampling and regex matching.
  716. Also, move JobConf.newInstance() to a new utility class.
  717. (Hairong Kuang via cutting)
  718. 40. HADOOP-226. Fix fsck command to properly consider replication
  719. counts, now that these can vary per file. (Bryan Pendleton via cutting)
  720. 41. HADOOP-425. Add a Python MapReduce example, using Jython.
  721. (omalley via cutting)
  722. Release 0.4.0 - 2006-06-28
  723. 1. HADOOP-298. Improved progress reports for CopyFiles utility, the
  724. distributed file copier. (omalley via cutting)
  725. 2. HADOOP-299. Fix the task tracker, permitting multiple jobs to
  726. more easily execute at the same time. (omalley via cutting)
  727. 3. HADOOP-250. Add an HTTP user interface to the namenode, running
  728. on port 50070. (Devaraj Das via cutting)
  729. 4. HADOOP-123. Add MapReduce unit tests that run a jobtracker and
  730. tasktracker, greatly increasing code coverage.
  731. (Milind Bhandarkar via cutting)
  732. 5. HADOOP-271. Add links from jobtracker's web ui to tasktracker's
  733. web ui. Also attempt to log a thread dump of child processes
  734. before they're killed. (omalley via cutting)
  735. 6. HADOOP-210. Change RPC server to use a selector instead of a
  736. thread per connection. This should make it easier to scale to
  737. larger clusters. Note that this incompatibly changes the RPC
  738. protocol: clients and servers must both be upgraded to the new
  739. version to ensure correct operation. (Devaraj Das via cutting)
  740. 7. HADOOP-311. Change DFS client to retry failed reads, so that a
  741. single read failure will not alone cause failure of a task.
  742. (omalley via cutting)
  743. 8. HADOOP-314. Remove the "append" phase when reducing. Map output
  744. files are now directly passed to the sorter, without first
  745. appending them into a single file. Now, the first third of reduce
  746. progress is "copy" (transferring map output to reduce nodes), the
  747. middle third is "sort" (sorting map output) and the last third is
  748. "reduce" (generating output). Long-term, the "sort" phase will
  749. also be removed. (omalley via cutting)
  750. 9. HADOOP-316. Fix a potential deadlock in the jobtracker.
  751. (omalley via cutting)
  752. 10. HADOOP-319. Fix FileSystem.close() to remove the FileSystem
  753. instance from the cache. (Hairong Kuang via cutting)
  754. 11. HADOOP-135. Fix potential deadlock in JobTracker by acquiring
  755. locks in a consistent order. (omalley via cutting)
  756. 12. HADOOP-278. Check for existence of input directories before
  757. starting MapReduce jobs, making it easier to debug this common
  758. error. (omalley via cutting)
  759. 13. HADOOP-304. Improve error message for
  760. UnregisterdDatanodeException to include expected node name.
  761. (Konstantin Shvachko via cutting)
  762. 14. HADOOP-305. Fix TaskTracker to ask for new tasks as soon as a
  763. task is finished, rather than waiting for the next heartbeat.
  764. This improves performance when tasks are short.
  765. (Mahadev Konar via cutting)
  766. 15. HADOOP-59. Add support for generic command line options. One may
  767. now specify the filesystem (-fs), the MapReduce jobtracker (-jt),
  768. a config file (-conf) or any configuration property (-D). The
  769. "dfs", "fsck", "job", and "distcp" commands currently support
  770. this, with more to be added. (Hairong Kuang via cutting)
  771. 16. HADOOP-296. Permit specification of the amount of reserved space
  772. on a DFS datanode. One may specify both the percentage free and
  773. the number of bytes. (Johan Oskarson via cutting)
  774. 17. HADOOP-325. Fix a problem initializing RPC parameter classes, and
  775. remove the workaround used to initialize classes.
  776. (omalley via cutting)
  777. 18. HADOOP-328. Add an option to the "distcp" command to ignore read
  778. errors while copying. (omalley via cutting)
  779. 19. HADOOP-27. Don't allocate tasks to trackers whose local free
  780. space is too low. (Johan Oskarson via cutting)
  781. 20. HADOOP-318. Keep slow DFS output from causing task timeouts.
  782. This incompatibly changes some public interfaces, adding a
  783. parameter to OutputFormat.getRecordWriter() and the new method
  784. Reporter.progress(), but it makes lots of tasks succeed that were
  785. previously failing. (Milind Bhandarkar via cutting)
  786. Release 0.3.2 - 2006-06-09
  787. 1. HADOOP-275. Update the streaming contrib module to use log4j for
  788. its logging. (Michel Tourn via cutting)
  789. 2. HADOOP-279. Provide defaults for log4j logging parameters, so
  790. that things still work reasonably when Hadoop-specific system
  791. properties are not provided. (omalley via cutting)
  792. 3. HADOOP-280. Fix a typo in AllTestDriver which caused the wrong
  793. test to be run when "DistributedFSCheck" was specified.
  794. (Konstantin Shvachko via cutting)
  795. 4. HADOOP-240. DFS's mkdirs() implementation no longer logs a warning
  796. when the directory already exists. (Hairong Kuang via cutting)
  797. 5. HADOOP-285. Fix DFS datanodes to be able to re-join the cluster
  798. after the connection to the namenode is lost. (omalley via cutting)
  799. 6. HADOOP-277. Fix a race condition when creating directories.
  800. (Sameer Paranjpye via cutting)
  801. 7. HADOOP-289. Improved exception handling in DFS datanode.
  802. (Konstantin Shvachko via cutting)
  803. 8. HADOOP-292. Fix client-side logging to go to standard error
  804. rather than standard output, so that it can be distinguished from
  805. application output. (omalley via cutting)
  806. 9. HADOOP-294. Fixed bug where conditions for retrying after errors
  807. in the DFS client were reversed. (omalley via cutting)
  808. Release 0.3.1 - 2006-06-05
  809. 1. HADOOP-272. Fix a bug in bin/hadoop setting log
  810. parameters. (omalley & cutting)
  811. 2. HADOOP-274. Change applications to log to standard output rather
  812. than to a rolling log file like daemons. (omalley via cutting)
  813. 3. HADOOP-262. Fix reduce tasks to report progress while they're
  814. waiting for map outputs, so that they do not time out.
  815. (Mahadev Konar via cutting)
  816. 4. HADOOP-245 and HADOOP-246. Improvements to record io package.
  817. (Mahadev Konar via cutting)
  818. 5. HADOOP-276. Add logging config files to jar file so that they're
  819. always found. (omalley via cutting)
  820. Release 0.3.0 - 2006-06-02
  821. 1. HADOOP-208. Enhance MapReduce web interface, adding new pages
  822. for failed tasks, and tasktrackers. (omalley via cutting)
  823. 2. HADOOP-204. Tweaks to metrics package. (David Bowen via cutting)
  824. 3. HADOOP-209. Add a MapReduce-based file copier. This will
  825. copy files within or between file systems in parallel.
  826. (Milind Bhandarkar via cutting)
  827. 4. HADOOP-146. Fix DFS to check when randomly generating a new block
  828. id that no existing blocks already have that id.
  829. (Milind Bhandarkar via cutting)
  830. 5. HADOOP-180. Make a daemon thread that does the actual task clean ups, so
  831. that the main offerService thread in the taskTracker doesn't get stuck
  832. and miss his heartbeat window. This was killing many task trackers as
  833. big jobs finished (300+ tasks / node). (omalley via cutting)
  834. 6. HADOOP-200. Avoid transmitting entire list of map task names to
  835. reduce tasks. Instead just transmit the number of map tasks and
  836. henceforth refer to them by number when collecting map output.
  837. (omalley via cutting)
  838. 7. HADOOP-219. Fix a NullPointerException when handling a checksum
  839. exception under SequenceFile.Sorter.sort(). (cutting & stack)
  840. 8. HADOOP-212. Permit alteration of the file block size in DFS. The
  841. default block size for new files may now be specified in the
  842. configuration with the dfs.block.size property. The block size
  843. may also be specified when files are opened.
  844. (omalley via cutting)
  845. 9. HADOOP-218. Avoid accessing configuration while looping through
  846. tasks in JobTracker. (Mahadev Konar via cutting)
  847. 10. HADOOP-161. Add hashCode() method to DFS's Block.
  848. (Milind Bhandarkar via cutting)
  849. 11. HADOOP-115. Map output types may now be specified. These are also
  850. used as reduce input types, thus permitting reduce input types to
  851. differ from reduce output types. (Runping Qi via cutting)
  852. 12. HADOOP-216. Add task progress to task status page.
  853. (Bryan Pendelton via cutting)
  854. 13. HADOOP-233. Add web server to task tracker that shows running
  855. tasks and logs. Also add log access to job tracker web interface.
  856. (omalley via cutting)
  857. 14. HADOOP-205. Incorporate pending tasks into tasktracker load
  858. calculations. (Mahadev Konar via cutting)
  859. 15. HADOOP-247. Fix sort progress to better handle exceptions.
  860. (Mahadev Konar via cutting)
  861. 16. HADOOP-195. Improve performance of the transfer of map outputs to
  862. reduce nodes by performing multiple transfers in parallel, each on
  863. a separate socket. (Sameer Paranjpye via cutting)
  864. 17. HADOOP-251. Fix task processes to be tolerant of failed progress
  865. reports to their parent process. (omalley via cutting)
  866. 18. HADOOP-325. Improve the FileNotFound exceptions thrown by
  867. LocalFileSystem to include the name of the file.
  868. (Benjamin Reed via cutting)
  869. 19. HADOOP-254. Use HTTP to transfer map output data to reduce
  870. nodes. This, together with HADOOP-195, greatly improves the
  871. performance of these transfers. (omalley via cutting)
  872. 20. HADOOP-163. Cause datanodes that\ are unable to either read or
  873. write data to exit, so that the namenode will no longer target
  874. them for new blocks and will replicate their data on other nodes.
  875. (Hairong Kuang via cutting)
  876. 21. HADOOP-222. Add a -setrep option to the dfs commands that alters
  877. file replication levels. (Johan Oskarson via cutting)
  878. 22. HADOOP-75. In DFS, only check for a complete file when the file
  879. is closed, rather than as each block is written.
  880. (Milind Bhandarkar via cutting)
  881. 23. HADOOP-124. Change DFS so that datanodes are identified by a
  882. persistent ID rather than by host and port. This solves a number
  883. of filesystem integrity problems, when, e.g., datanodes are
  884. restarted. (Konstantin Shvachko via cutting)
  885. 24. HADOOP-256. Add a C API for DFS. (Arun C Murthy via cutting)
  886. 25. HADOOP-211. Switch to use the Jakarta Commons logging internally,
  887. configured to use log4j by default. (Arun C Murthy and cutting)
  888. 26. HADOOP-265. Tasktracker now fails to start if it does not have a
  889. writable local directory for temporary files. In this case, it
  890. logs a message to the JobTracker and exits. (Hairong Kuang via cutting)
  891. 27. HADOOP-270. Fix potential deadlock in datanode shutdown.
  892. (Hairong Kuang via cutting)
  893. Release 0.2.1 - 2006-05-12
  894. 1. HADOOP-199. Fix reduce progress (broken by HADOOP-182).
  895. (omalley via cutting)
  896. 2. HADOOP-201. Fix 'bin/hadoop dfs -report'. (cutting)
  897. 3. HADOOP-207. Fix JDK 1.4 incompatibility introduced by HADOOP-96.
  898. System.getenv() does not work in JDK 1.4. (Hairong Kuang via cutting)
  899. Release 0.2.0 - 2006-05-05
  900. 1. Fix HADOOP-126. 'bin/hadoop dfs -cp' now correctly copies .crc
  901. files. (Konstantin Shvachko via cutting)
  902. 2. Fix HADOOP-51. Change DFS to support per-file replication counts.
  903. (Konstantin Shvachko via cutting)
  904. 3. Fix HADOOP-131. Add scripts to start/stop dfs and mapred daemons.
  905. Use these in start/stop-all scripts. (Chris Mattmann via cutting)
  906. 4. Stop using ssh options by default that are not yet in widely used
  907. versions of ssh. Folks can still enable their use by uncommenting
  908. a line in conf/hadoop-env.sh. (cutting)
  909. 5. Fix HADOOP-92. Show information about all attempts to run each
  910. task in the web ui. (Mahadev konar via cutting)
  911. 6. Fix HADOOP-128. Improved DFS error handling. (Owen O'Malley via cutting)
  912. 7. Fix HADOOP-129. Replace uses of java.io.File with new class named
  913. Path. This fixes bugs where java.io.File methods were called
  914. directly when FileSystem methods were desired, and reduces the
  915. likelihood of such bugs in the future. It also makes the handling
  916. of pathnames more consistent between local and dfs FileSystems and
  917. between Windows and Unix. java.io.File-based methods are still
  918. available for back-compatibility, but are deprecated and will be
  919. removed once 0.2 is released. (cutting)
  920. 8. Change dfs.data.dir and mapred.local.dir to be comma-separated
  921. lists of directories, no longer be space-separated. This fixes
  922. several bugs on Windows. (cutting)
  923. 9. Fix HADOOP-144. Use mapred task id for dfs client id, to
  924. facilitate debugging. (omalley via cutting)
  925. 10. Fix HADOOP-143. Do not line-wrap stack-traces in web ui.
  926. (omalley via cutting)
  927. 11. Fix HADOOP-118. In DFS, improve clean up of abandoned file
  928. creations. (omalley via cutting)
  929. 12. Fix HADOOP-138. Stop multiple tasks in a single heartbeat, rather
  930. than one per heartbeat. (Stefan via cutting)
  931. 13. Fix HADOOP-139. Remove a potential deadlock in
  932. LocalFileSystem.lock(). (Igor Bolotin via cutting)
  933. 14. Fix HADOOP-134. Don't hang jobs when the tasktracker is
  934. misconfigured to use an un-writable local directory. (omalley via cutting)
  935. 15. Fix HADOOP-115. Correct an error message. (Stack via cutting)
  936. 16. Fix HADOOP-133. Retry pings from child to parent, in case of
  937. (local) communcation problems. Also log exit status, so that one
  938. can distinguish patricide from other deaths. (omalley via cutting)
  939. 17. Fix HADOOP-142. Avoid re-running a task on a host where it has
  940. previously failed. (omalley via cutting)
  941. 18. Fix HADOOP-148. Maintain a task failure count for each
  942. tasktracker and display it in the web ui. (omalley via cutting)
  943. 19. Fix HADOOP-151. Close a potential socket leak, where new IPC
  944. connection pools were created per configuration instance that RPCs
  945. use. Now a global RPC connection pool is used again, as
  946. originally intended. (cutting)
  947. 20. Fix HADOOP-69. Don't throw a NullPointerException when getting
  948. hints for non-existing file split. (Bryan Pendelton via cutting)
  949. 21. Fix HADOOP-157. When a task that writes dfs files (e.g., a reduce
  950. task) failed and was retried, it would fail again and again,
  951. eventually failing the job. The problem was that dfs did not yet
  952. know that the failed task had abandoned the files, and would not
  953. yet let another task create files with the same names. Dfs now
  954. retries when creating a file long enough for locks on abandoned
  955. files to expire. (omalley via cutting)
  956. 22. Fix HADOOP-150. Improved task names that include job
  957. names. (omalley via cutting)
  958. 23. Fix HADOOP-162. Fix ConcurrentModificationException when
  959. releasing file locks. (omalley via cutting)
  960. 24. Fix HADOOP-132. Initial check-in of new Metrics API, including
  961. implementations for writing metric data to a file and for sending
  962. it to Ganglia. (David Bowen via cutting)
  963. 25. Fix HADOOP-160. Remove some uneeded synchronization around
  964. time-consuming operations in the TaskTracker. (omalley via cutting)
  965. 26. Fix HADOOP-166. RPCs failed when passed subclasses of a declared
  966. parameter type. This is fixed by changing ObjectWritable to store
  967. both the declared type and the instance type for Writables. Note
  968. that this incompatibly changes the format of ObjectWritable and
  969. will render unreadable any ObjectWritables stored in files.
  970. Nutch only uses ObjectWritable in intermediate files, so this
  971. should not be a problem for Nutch. (Stefan & cutting)
  972. 27. Fix HADOOP-168. MapReduce RPC protocol methods should all declare
  973. IOException, so that timeouts are handled appropriately.
  974. (omalley via cutting)
  975. 28. Fix HADOOP-169. Don't fail a reduce task if a call to the
  976. jobtracker to locate map outputs fails. (omalley via cutting)
  977. 29. Fix HADOOP-170. Permit FileSystem clients to examine and modify
  978. the replication count of individual files. Also fix a few
  979. replication-related bugs. (Konstantin Shvachko via cutting)
  980. 30. Permit specification of a higher replication levels for job
  981. submission files (job.xml and job.jar). This helps with large
  982. clusters, since these files are read by every node. (cutting)
  983. 31. HADOOP-173. Optimize allocation of tasks with local data. (cutting)
  984. 32. HADOOP-167. Reduce number of Configurations and JobConf's
  985. created. (omalley via cutting)
  986. 33. NUTCH-256. Change FileSystem#createNewFile() to create a .crc
  987. file. The lack of a .crc file was causing warnings. (cutting)
  988. 34. HADOOP-174. Change JobClient to not abort job until it has failed
  989. to contact the job tracker for five attempts, not just one as
  990. before. (omalley via cutting)
  991. 35. HADOOP-177. Change MapReduce web interface to page through tasks.
  992. Previously, when jobs had more than a few thousand tasks they
  993. could crash web browsers. (Mahadev Konar via cutting)
  994. 36. HADOOP-178. In DFS, piggyback blockwork requests from datanodes
  995. on heartbeat responses from namenode. This reduces the volume of
  996. RPC traffic. Also move startup delay in blockwork from datanode
  997. to namenode. This fixes a problem where restarting the namenode
  998. triggered a lot of uneeded replication. (Hairong Kuang via cutting)
  999. 37. HADOOP-183. If the DFS namenode is restarted with different
  1000. minimum and/or maximum replication counts, existing files'
  1001. replication counts are now automatically adjusted to be within the
  1002. newly configured bounds. (Hairong Kuang via cutting)
  1003. 38. HADOOP-186. Better error handling in TaskTracker's top-level
  1004. loop. Also improve calculation of time to send next heartbeat.
  1005. (omalley via cutting)
  1006. 39. HADOOP-187. Add two MapReduce examples/benchmarks. One creates
  1007. files containing random data. The second sorts the output of the
  1008. first. (omalley via cutting)
  1009. 40. HADOOP-185. Fix so that, when a task tracker times out making the
  1010. RPC asking for a new task to run, the job tracker does not think
  1011. that it is actually running the task returned. (omalley via cutting)
  1012. 41. HADOOP-190. If a child process hangs after it has reported
  1013. completion, its output should not be lost. (Stack via cutting)
  1014. 42. HADOOP-184. Re-structure some test code to better support testing
  1015. on a cluster. (Mahadev Konar via cutting)
  1016. 43. HADOOP-191 Add streaming package, Hadoop's first contrib module.
  1017. This permits folks to easily submit MapReduce jobs whose map and
  1018. reduce functions are implemented by shell commands. Use
  1019. 'bin/hadoop jar build/hadoop-streaming.jar' to get details.
  1020. (Michel Tourn via cutting)
  1021. 44. HADOOP-189. Fix MapReduce in standalone configuration to
  1022. correctly handle job jar files that contain a lib directory with
  1023. nested jar files. (cutting)
  1024. 45. HADOOP-65. Initial version of record I/O framework that enables
  1025. the specification of record types and generates marshalling code
  1026. in both Java and C++. Generated Java code implements
  1027. WritableComparable, but is not yet otherwise used by
  1028. Hadoop. (Milind Bhandarkar via cutting)
  1029. 46. HADOOP-193. Add a MapReduce-based FileSystem benchmark.
  1030. (Konstantin Shvachko via cutting)
  1031. 47. HADOOP-194. Add a MapReduce-based FileSystem checker. This reads
  1032. every block in every file in the filesystem. (Konstantin Shvachko
  1033. via cutting)
  1034. 48. HADOOP-182. Fix so that lost task trackers to not change the
  1035. status of reduce tasks or completed jobs. Also fixes the progress
  1036. meter so that failed tasks are subtracted. (omalley via cutting)
  1037. 49. HADOOP-96. Logging improvements. Log files are now separate from
  1038. standard output and standard error files. Logs are now rolled.
  1039. Logging of all DFS state changes can be enabled, to facilitate
  1040. debugging. (Hairong Kuang via cutting)
  1041. Release 0.1.1 - 2006-04-08
  1042. 1. Added CHANGES.txt, logging all significant changes to Hadoop. (cutting)
  1043. 2. Fix MapReduceBase.close() to throw IOException, as declared in the
  1044. Closeable interface. This permits subclasses which override this
  1045. method to throw that exception. (cutting)
  1046. 3. Fix HADOOP-117. Pathnames were mistakenly transposed in
  1047. JobConf.getLocalFile() causing many mapred temporary files to not
  1048. be removed. (Raghavendra Prabhu via cutting)
  1049. 4. Fix HADOOP-116. Clean up job submission files when jobs complete.
  1050. (cutting)
  1051. 5. Fix HADOOP-125. Fix handling of absolute paths on Windows (cutting)
  1052. Release 0.1.0 - 2006-04-01
  1053. 1. The first release of Hadoop.