CHANGES.txt 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  1. Hadoop Change Log
  2. Trunk (unreleased changes)
  3. 1. HADOOP-427. Replace some uses of DatanodeDescriptor in the DFS
  4. web UI code with DatanodeInfo, the preferred public class.
  5. (Devaraj Das via cutting)
  6. 2. HADOOP-426. Fix streaming contrib module to work correctly on
  7. Solaris. This was causing nightly builds to fail.
  8. (Michel Tourn via cutting)
  9. 3. HADOOP-400. Improvements to task assignment. Tasks are no longer
  10. re-run on nodes where they have failed (unless no other node is
  11. available). Also, tasks are better load-balanced among nodes.
  12. (omalley via cutting)
  13. 4. HADOOP-324. Fix datanode to not exit when a disk is full, but
  14. rather simply to fail writes. (Wendy Chien via cutting)
  15. 5. HADOOP-434. Change smallJobsBenchmark to use standard Hadoop
  16. scripts. (Sanjay Dahiya via cutting)
  17. 6. HADOOP-453. Fix a bug in Text.setCapacity(). (siren via cutting)
  18. 7. HADOOP-450. Change so that input types are determined by the
  19. RecordReader rather than specified directly in the JobConf. This
  20. facilitates jobs with a variety of input types.
  21. WARNING: This contains incompatible API changes! The RecordReader
  22. interface has two new methods that all user-defined InputFormats
  23. must now define. Also, the values returned by TextInputFormat are
  24. no longer of class UTF8, but now of class Text.
  25. 8. HADOOP-436. Fix an error-handling bug in the web ui.
  26. (Devaraj Das via cutting)
  27. 9. HADOOP-455. Fix a bug in Text, where DEL was not permitted.
  28. (Hairong Kuang via cutting)
  29. 10. HADOOP-456. Change the DFS namenode to keep a persistent record
  30. of the set of known datanodes. This will be used to implement a
  31. "safe mode" where filesystem changes are prohibited when a
  32. critical percentage of the datanodes are unavailable.
  33. (Konstantin Shvachko via cutting)
  34. 11. HADOOP-322. Add a job control utility. This permits one to
  35. specify job interdependencies. Each job is submitted only after
  36. the jobs it depends on have successfully completed.
  37. (Runping Qi via cutting)
  38. 12. HADOOP-176. Fix a bug in IntWritable.Comparator.
  39. (Dick King via cutting)
  40. 13. HADOOP-421. Replace uses of String in recordio package with Text
  41. class, for improved handling of UTF-8 data.
  42. (Milind Bhandarkar via cutting)
  43. 14. HADOOP-464. Improved error message when job jar not found.
  44. (Michel Tourn via cutting)
  45. 15. HADOOP-469. Fix /bin/bash specifics that have crept into our
  46. /bin/sh scripts since HADOOP-352.
  47. (Jean-Baptiste Quenot via cutting)
  48. 16. HADOOP-468. Add HADOOP_NICENESS environment variable to set
  49. scheduling priority for daemons. (Vetle Roeim via cutting)
  50. 17. HADOOP-473. Fix TextInputFormat to correctly handle more EOL
  51. formats. Things now work correctly with CR, LF or CRLF.
  52. (Dennis Kubes & James White via cutting)
  53. 18. HADOOP-461. Make Java 1.5 an explicit requirement. (cutting)
  54. 19. HADOOP-54. Add block compression to SequenceFile. One may now
  55. specify that blocks of keys and values are compressed together,
  56. improving compression for small keys and values.
  57. SequenceFile.Writer's constructor is now deprecated and replaced
  58. with a factory method. (Arun C Murthy via cutting)
  59. 20. HADOOP-281. Prohibit DFS files that are also directories.
  60. (Wendy Chien via cutting)
  61. 21. HADOOP-486. Add the job username to JobStatus instances returned
  62. by JobClient. (Mahadev Konar via cutting)
  63. 22. HADOOP-437. contrib/streaming: Add support for gzipped inputs.
  64. (Michel Tourn via cutting)
  65. 23. HADOOP-463. Add variable expansion to config files.
  66. Configuration property values may now contain variable
  67. expressions. A variable is referenced with the syntax
  68. '${variable}'. Variables values are found first in the
  69. configuration, and then in Java system properties. The default
  70. configuration is modified so that temporary directories are now
  71. under ${hadoop.tmp.dir}, which is, by default,
  72. /tmp/hadoop-${user.name}. (Michel Tourn via cutting)
  73. 24. HADOOP-419. Fix a NullPointerException finding the ClassLoader
  74. when using libhdfs. (omalley via cutting)
  75. 25. HADOOP-460. Fix contrib/smallJobsBenchmark to use Text instead of
  76. UTF8. (Sanjay Dahiya via cutting)
  77. 26. HADOOP-196. Fix Configuration(Configuration) constructor to work
  78. correctly. (Sami Siren via cutting)
  79. 27. HADOOP-501. Fix Configuration.toString() to handle URL resources.
  80. (Thomas Friol via cutting)
  81. 28. HADOOP-499. Reduce the use of Strings in contrib/streaming,
  82. replacing them with Text for better performance.
  83. (Hairong Kuang via cutting)
  84. 29. HADOOP-64. Manage multiple volumes with a single DataNode.
  85. Previously DataNode would create a separate daemon per configured
  86. volume, each with its own connection to the NameNode. Now all
  87. volumes are handled by a single DataNode daemon, reducing the load
  88. on the NameNode. (Milind Bhandarkar via cutting)
  89. 30. HADOOP-424. Fix MapReduce so that jobs which generate zero splits
  90. do not fail. (Frédéric Bertin via cutting)
  91. 31. HADOOP-408. Adjust some timeouts and remove some others so that
  92. unit tests run faster. (cutting)
  93. 32. HADOOP-507. Fix an IllegalAccessException in DFS.
  94. (omalley via cutting)
  95. 33. HADOOP-320. Fix so that checksum files are correctly copied when
  96. the destination of a file copy is a directory.
  97. (Hairong Kuang via cutting)
  98. 34. HADOOP-286. In DFSClient, avoid pinging the NameNode with
  99. renewLease() calls when no files are being written.
  100. (Konstantin Shvachko via cutting)
  101. 35. HADOOP-312. Close idle IPC connections. All IPC connections were
  102. cached forever. Now, after a connection has been idle for more
  103. than a configurable amount of time (one second by default), the
  104. connection is closed, conserving resources on both client and
  105. server. (Devaraj Das via cutting)
  106. 36. HADOOP-497. Permit the specification of the network interface and
  107. nameserver to be used when determining the local hostname
  108. advertised by datanodes and tasktrackers.
  109. (Lorenzo Thione via cutting)
  110. 37. HADOOP-441. Add a compression codec API and extend SequenceFile
  111. to use it. This will permit the use of alternate compression
  112. codecs in SequenceFile. (Arun C Murthy via cutting)
  113. 38. HADOOP-483. Improvements to libhdfs build and documentation.
  114. (Arun C Murthy via cutting)
  115. Release 0.5.0 - 2006-08-04
  116. 1. HADOOP-352. Fix shell scripts to use /bin/sh instead of
  117. /bin/bash, for better portability.
  118. (Jean-Baptiste Quenot via cutting)
  119. 2. HADOOP-313. Permit task state to be saved so that single tasks
  120. may be manually re-executed when debugging. (omalley via cutting)
  121. 3. HADOOP-339. Add method to JobClient API listing jobs that are
  122. not yet complete, i.e., that are queued or running.
  123. (Mahadev Konar via cutting)
  124. 4. HADOOP-355. Updates to the streaming contrib module, including
  125. API fixes, making reduce optional, and adding an input type for
  126. StreamSequenceRecordReader. (Michel Tourn via cutting)
  127. 5. HADOOP-358. Fix a NPE bug in Path.equals().
  128. (Frédéric Bertin via cutting)
  129. 6. HADOOP-327. Fix ToolBase to not call System.exit() when
  130. exceptions are thrown. (Hairong Kuang via cutting)
  131. 7. HADOOP-359. Permit map output to be compressed.
  132. (omalley via cutting)
  133. 8. HADOOP-341. Permit input URI to CopyFiles to use the HTTP
  134. protocol. This lets one, e.g., more easily copy log files into
  135. DFS. (Arun C Murthy via cutting)
  136. 9. HADOOP-361. Remove unix dependencies from streaming contrib
  137. module tests, making them pure java. (Michel Tourn via cutting)
  138. 10. HADOOP-354. Make public methods to stop DFS daemons.
  139. (Barry Kaplan via cutting)
  140. 11. HADOOP-252. Add versioning to RPC protocols.
  141. (Milind Bhandarkar via cutting)
  142. 12. HADOOP-356. Add contrib to "compile" and "test" build targets, so
  143. that this code is better maintained. (Michel Tourn via cutting)
  144. 13. HADOOP-307. Add smallJobsBenchmark contrib module. This runs
  145. lots of small jobs, in order to determine per-task overheads.
  146. (Sanjay Dahiya via cutting)
  147. 14. HADOOP-342. Add a tool for log analysis: Logalyzer.
  148. (Arun C Murthy via cutting)
  149. 15. HADOOP-347. Add web-based browsing of DFS content. The namenode
  150. redirects browsing requests to datanodes. Content requests are
  151. redirected to datanodes where the data is local when possible.
  152. (Devaraj Das via cutting)
  153. 16. HADOOP-351. Make Hadoop IPC kernel independent of Jetty.
  154. (Devaraj Das via cutting)
  155. 17. HADOOP-237. Add metric reporting to DFS and MapReduce. With only
  156. minor configuration changes, one can now monitor many Hadoop
  157. system statistics using Ganglia or other monitoring systems.
  158. (Milind Bhandarkar via cutting)
  159. 18. HADOOP-376. Fix datanode's HTTP server to scan for a free port.
  160. (omalley via cutting)
  161. 19. HADOOP-260. Add --config option to shell scripts, specifying an
  162. alternate configuration directory. (Milind Bhandarkar via cutting)
  163. 20. HADOOP-381. Permit developers to save the temporary files for
  164. tasks whose names match a regular expression, to facilliate
  165. debugging. (omalley via cutting)
  166. 21. HADOOP-344. Fix some Windows-related problems with DF.
  167. (Konstantin Shvachko via cutting)
  168. 22. HADOOP-380. Fix reduce tasks to poll less frequently for map
  169. outputs. (Mahadev Konar via cutting)
  170. 23. HADOOP-321. Refactor DatanodeInfo, in preparation for
  171. HADOOP-306. (Konstantin Shvachko & omalley via cutting)
  172. 24. HADOOP-385. Fix some bugs in record io code generation.
  173. (Milind Bhandarkar via cutting)
  174. 25. HADOOP-302. Add new Text class to replace UTF8, removing
  175. limitations of that class. Also refactor utility methods for
  176. writing zero-compressed integers (VInts and VLongs).
  177. (Hairong Kuang via cutting)
  178. 26. HADOOP-335. Refactor DFS namespace/transaction logging in
  179. namenode. (Konstantin Shvachko via cutting)
  180. 27. HADOOP-375. Fix handling of the datanode HTTP daemon's port so
  181. that multiple datanode's can be run on a single host.
  182. (Devaraj Das via cutting)
  183. 28. HADOOP-386. When removing excess DFS block replicas, remove those
  184. on nodes with the least free space first.
  185. (Johan Oskarson via cutting)
  186. 29. HADOOP-389. Fix intermittent failures of mapreduce unit tests.
  187. Also fix some build dependencies.
  188. (Mahadev & Konstantin via cutting)
  189. 30. HADOOP-362. Fix a problem where jobs hang when status messages
  190. are recieved out-of-order. (omalley via cutting)
  191. 31. HADOOP-394. Change order of DFS shutdown in unit tests to
  192. minimize errors logged. (Konstantin Shvachko via cutting)
  193. 32. HADOOP-396. Make DatanodeID implement Writable.
  194. (Konstantin Shvachko via cutting)
  195. 33. HADOOP-377. Permit one to add URL resources to a Configuration.
  196. (Jean-Baptiste Quenot via cutting)
  197. 34. HADOOP-345. Permit iteration over Configuration key/value pairs.
  198. (Michel Tourn via cutting)
  199. 35. HADOOP-409. Streaming contrib module: make configuration
  200. properties available to commands as environment variables.
  201. (Michel Tourn via cutting)
  202. 36. HADOOP-369. Add -getmerge option to dfs command that appends all
  203. files in a directory into a single local file.
  204. (Johan Oskarson via cutting)
  205. 37. HADOOP-410. Replace some TreeMaps with HashMaps in DFS, for
  206. a 17% performance improvement. (Milind Bhandarkar via cutting)
  207. 38. HADOOP-411. Add unit tests for command line parser.
  208. (Hairong Kuang via cutting)
  209. 39. HADOOP-412. Add MapReduce input formats that support filtering
  210. of SequenceFile data, including sampling and regex matching.
  211. Also, move JobConf.newInstance() to a new utility class.
  212. (Hairong Kuang via cutting)
  213. 40. HADOOP-226. Fix fsck command to properly consider replication
  214. counts, now that these can vary per file. (Bryan Pendleton via cutting)
  215. 41. HADOOP-425. Add a Python MapReduce example, using Jython.
  216. (omalley via cutting)
  217. Release 0.4.0 - 2006-06-28
  218. 1. HADOOP-298. Improved progress reports for CopyFiles utility, the
  219. distributed file copier. (omalley via cutting)
  220. 2. HADOOP-299. Fix the task tracker, permitting multiple jobs to
  221. more easily execute at the same time. (omalley via cutting)
  222. 3. HADOOP-250. Add an HTTP user interface to the namenode, running
  223. on port 50070. (Devaraj Das via cutting)
  224. 4. HADOOP-123. Add MapReduce unit tests that run a jobtracker and
  225. tasktracker, greatly increasing code coverage.
  226. (Milind Bhandarkar via cutting)
  227. 5. HADOOP-271. Add links from jobtracker's web ui to tasktracker's
  228. web ui. Also attempt to log a thread dump of child processes
  229. before they're killed. (omalley via cutting)
  230. 6. HADOOP-210. Change RPC server to use a selector instead of a
  231. thread per connection. This should make it easier to scale to
  232. larger clusters. Note that this incompatibly changes the RPC
  233. protocol: clients and servers must both be upgraded to the new
  234. version to ensure correct operation. (Devaraj Das via cutting)
  235. 7. HADOOP-311. Change DFS client to retry failed reads, so that a
  236. single read failure will not alone cause failure of a task.
  237. (omalley via cutting)
  238. 8. HADOOP-314. Remove the "append" phase when reducing. Map output
  239. files are now directly passed to the sorter, without first
  240. appending them into a single file. Now, the first third of reduce
  241. progress is "copy" (transferring map output to reduce nodes), the
  242. middle third is "sort" (sorting map output) and the last third is
  243. "reduce" (generating output). Long-term, the "sort" phase will
  244. also be removed. (omalley via cutting)
  245. 9. HADOOP-316. Fix a potential deadlock in the jobtracker.
  246. (omalley via cutting)
  247. 10. HADOOP-319. Fix FileSystem.close() to remove the FileSystem
  248. instance from the cache. (Hairong Kuang via cutting)
  249. 11. HADOOP-135. Fix potential deadlock in JobTracker by acquiring
  250. locks in a consistent order. (omalley via cutting)
  251. 12. HADOOP-278. Check for existence of input directories before
  252. starting MapReduce jobs, making it easier to debug this common
  253. error. (omalley via cutting)
  254. 13. HADOOP-304. Improve error message for
  255. UnregisterdDatanodeException to include expected node name.
  256. (Konstantin Shvachko via cutting)
  257. 14. HADOOP-305. Fix TaskTracker to ask for new tasks as soon as a
  258. task is finished, rather than waiting for the next heartbeat.
  259. This improves performance when tasks are short.
  260. (Mahadev Konar via cutting)
  261. 15. HADOOP-59. Add support for generic command line options. One may
  262. now specify the filesystem (-fs), the MapReduce jobtracker (-jt),
  263. a config file (-conf) or any configuration property (-D). The
  264. "dfs", "fsck", "job", and "distcp" commands currently support
  265. this, with more to be added. (Hairong Kuang via cutting)
  266. 16. HADOOP-296. Permit specification of the amount of reserved space
  267. on a DFS datanode. One may specify both the percentage free and
  268. the number of bytes. (Johan Oskarson via cutting)
  269. 17. HADOOP-325. Fix a problem initializing RPC parameter classes, and
  270. remove the workaround used to initialize classes.
  271. (omalley via cutting)
  272. 18. HADOOP-328. Add an option to the "distcp" command to ignore read
  273. errors while copying. (omalley via cutting)
  274. 19. HADOOP-27. Don't allocate tasks to trackers whose local free
  275. space is too low. (Johan Oskarson via cutting)
  276. 20. HADOOP-318. Keep slow DFS output from causing task timeouts.
  277. This incompatibly changes some public interfaces, adding a
  278. parameter to OutputFormat.getRecordWriter() and the new method
  279. Reporter.progress(), but it makes lots of tasks succeed that were
  280. previously failing. (Milind Bhandarkar via cutting)
  281. Release 0.3.2 - 2006-06-09
  282. 1. HADOOP-275. Update the streaming contrib module to use log4j for
  283. its logging. (Michel Tourn via cutting)
  284. 2. HADOOP-279. Provide defaults for log4j logging parameters, so
  285. that things still work reasonably when Hadoop-specific system
  286. properties are not provided. (omalley via cutting)
  287. 3. HADOOP-280. Fix a typo in AllTestDriver which caused the wrong
  288. test to be run when "DistributedFSCheck" was specified.
  289. (Konstantin Shvachko via cutting)
  290. 4. HADOOP-240. DFS's mkdirs() implementation no longer logs a warning
  291. when the directory already exists. (Hairong Kuang via cutting)
  292. 5. HADOOP-285. Fix DFS datanodes to be able to re-join the cluster
  293. after the connection to the namenode is lost. (omalley via cutting)
  294. 6. HADOOP-277. Fix a race condition when creating directories.
  295. (Sameer Paranjpye via cutting)
  296. 7. HADOOP-289. Improved exception handling in DFS datanode.
  297. (Konstantin Shvachko via cutting)
  298. 8. HADOOP-292. Fix client-side logging to go to standard error
  299. rather than standard output, so that it can be distinguished from
  300. application output. (omalley via cutting)
  301. 9. HADOOP-294. Fixed bug where conditions for retrying after errors
  302. in the DFS client were reversed. (omalley via cutting)
  303. Release 0.3.1 - 2006-06-05
  304. 1. HADOOP-272. Fix a bug in bin/hadoop setting log
  305. parameters. (omalley & cutting)
  306. 2. HADOOP-274. Change applications to log to standard output rather
  307. than to a rolling log file like daemons. (omalley via cutting)
  308. 3. HADOOP-262. Fix reduce tasks to report progress while they're
  309. waiting for map outputs, so that they do not time out.
  310. (Mahadev Konar via cutting)
  311. 4. HADOOP-245 and HADOOP-246. Improvements to record io package.
  312. (Mahadev Konar via cutting)
  313. 5. HADOOP-276. Add logging config files to jar file so that they're
  314. always found. (omalley via cutting)
  315. Release 0.3.0 - 2006-06-02
  316. 1. HADOOP-208. Enhance MapReduce web interface, adding new pages
  317. for failed tasks, and tasktrackers. (omalley via cutting)
  318. 2. HADOOP-204. Tweaks to metrics package. (David Bowen via cutting)
  319. 3. HADOOP-209. Add a MapReduce-based file copier. This will
  320. copy files within or between file systems in parallel.
  321. (Milind Bhandarkar via cutting)
  322. 4. HADOOP-146. Fix DFS to check when randomly generating a new block
  323. id that no existing blocks already have that id.
  324. (Milind Bhandarkar via cutting)
  325. 5. HADOOP-180. Make a daemon thread that does the actual task clean ups, so
  326. that the main offerService thread in the taskTracker doesn't get stuck
  327. and miss his heartbeat window. This was killing many task trackers as
  328. big jobs finished (300+ tasks / node). (omalley via cutting)
  329. 6. HADOOP-200. Avoid transmitting entire list of map task names to
  330. reduce tasks. Instead just transmit the number of map tasks and
  331. henceforth refer to them by number when collecting map output.
  332. (omalley via cutting)
  333. 7. HADOOP-219. Fix a NullPointerException when handling a checksum
  334. exception under SequenceFile.Sorter.sort(). (cutting & stack)
  335. 8. HADOOP-212. Permit alteration of the file block size in DFS. The
  336. default block size for new files may now be specified in the
  337. configuration with the dfs.block.size property. The block size
  338. may also be specified when files are opened.
  339. (omalley via cutting)
  340. 9. HADOOP-218. Avoid accessing configuration while looping through
  341. tasks in JobTracker. (Mahadev Konar via cutting)
  342. 10. HADOOP-161. Add hashCode() method to DFS's Block.
  343. (Milind Bhandarkar via cutting)
  344. 11. HADOOP-115. Map output types may now be specified. These are also
  345. used as reduce input types, thus permitting reduce input types to
  346. differ from reduce output types. (Runping Qi via cutting)
  347. 12. HADOOP-216. Add task progress to task status page.
  348. (Bryan Pendelton via cutting)
  349. 13. HADOOP-233. Add web server to task tracker that shows running
  350. tasks and logs. Also add log access to job tracker web interface.
  351. (omalley via cutting)
  352. 14. HADOOP-205. Incorporate pending tasks into tasktracker load
  353. calculations. (Mahadev Konar via cutting)
  354. 15. HADOOP-247. Fix sort progress to better handle exceptions.
  355. (Mahadev Konar via cutting)
  356. 16. HADOOP-195. Improve performance of the transfer of map outputs to
  357. reduce nodes by performing multiple transfers in parallel, each on
  358. a separate socket. (Sameer Paranjpye via cutting)
  359. 17. HADOOP-251. Fix task processes to be tolerant of failed progress
  360. reports to their parent process. (omalley via cutting)
  361. 18. HADOOP-325. Improve the FileNotFound exceptions thrown by
  362. LocalFileSystem to include the name of the file.
  363. (Benjamin Reed via cutting)
  364. 19. HADOOP-254. Use HTTP to transfer map output data to reduce
  365. nodes. This, together with HADOOP-195, greatly improves the
  366. performance of these transfers. (omalley via cutting)
  367. 20. HADOOP-163. Cause datanodes that\ are unable to either read or
  368. write data to exit, so that the namenode will no longer target
  369. them for new blocks and will replicate their data on other nodes.
  370. (Hairong Kuang via cutting)
  371. 21. HADOOP-222. Add a -setrep option to the dfs commands that alters
  372. file replication levels. (Johan Oskarson via cutting)
  373. 22. HADOOP-75. In DFS, only check for a complete file when the file
  374. is closed, rather than as each block is written.
  375. (Milind Bhandarkar via cutting)
  376. 23. HADOOP-124. Change DFS so that datanodes are identified by a
  377. persistent ID rather than by host and port. This solves a number
  378. of filesystem integrity problems, when, e.g., datanodes are
  379. restarted. (Konstantin Shvachko via cutting)
  380. 24. HADOOP-256. Add a C API for DFS. (Arun C Murthy via cutting)
  381. 25. HADOOP-211. Switch to use the Jakarta Commons logging internally,
  382. configured to use log4j by default. (Arun C Murthy and cutting)
  383. 26. HADOOP-265. Tasktracker now fails to start if it does not have a
  384. writable local directory for temporary files. In this case, it
  385. logs a message to the JobTracker and exits. (Hairong Kuang via cutting)
  386. 27. HADOOP-270. Fix potential deadlock in datanode shutdown.
  387. (Hairong Kuang via cutting)
  388. Release 0.2.1 - 2006-05-12
  389. 1. HADOOP-199. Fix reduce progress (broken by HADOOP-182).
  390. (omalley via cutting)
  391. 2. HADOOP-201. Fix 'bin/hadoop dfs -report'. (cutting)
  392. 3. HADOOP-207. Fix JDK 1.4 incompatibility introduced by HADOOP-96.
  393. System.getenv() does not work in JDK 1.4. (Hairong Kuang via cutting)
  394. Release 0.2.0 - 2006-05-05
  395. 1. Fix HADOOP-126. 'bin/hadoop dfs -cp' now correctly copies .crc
  396. files. (Konstantin Shvachko via cutting)
  397. 2. Fix HADOOP-51. Change DFS to support per-file replication counts.
  398. (Konstantin Shvachko via cutting)
  399. 3. Fix HADOOP-131. Add scripts to start/stop dfs and mapred daemons.
  400. Use these in start/stop-all scripts. (Chris Mattmann via cutting)
  401. 4. Stop using ssh options by default that are not yet in widely used
  402. versions of ssh. Folks can still enable their use by uncommenting
  403. a line in conf/hadoop-env.sh. (cutting)
  404. 5. Fix HADOOP-92. Show information about all attempts to run each
  405. task in the web ui. (Mahadev konar via cutting)
  406. 6. Fix HADOOP-128. Improved DFS error handling. (Owen O'Malley via cutting)
  407. 7. Fix HADOOP-129. Replace uses of java.io.File with new class named
  408. Path. This fixes bugs where java.io.File methods were called
  409. directly when FileSystem methods were desired, and reduces the
  410. likelihood of such bugs in the future. It also makes the handling
  411. of pathnames more consistent between local and dfs FileSystems and
  412. between Windows and Unix. java.io.File-based methods are still
  413. available for back-compatibility, but are deprecated and will be
  414. removed once 0.2 is released. (cutting)
  415. 8. Change dfs.data.dir and mapred.local.dir to be comma-separated
  416. lists of directories, no longer be space-separated. This fixes
  417. several bugs on Windows. (cutting)
  418. 9. Fix HADOOP-144. Use mapred task id for dfs client id, to
  419. facilitate debugging. (omalley via cutting)
  420. 10. Fix HADOOP-143. Do not line-wrap stack-traces in web ui.
  421. (omalley via cutting)
  422. 11. Fix HADOOP-118. In DFS, improve clean up of abandoned file
  423. creations. (omalley via cutting)
  424. 12. Fix HADOOP-138. Stop multiple tasks in a single heartbeat, rather
  425. than one per heartbeat. (Stefan via cutting)
  426. 13. Fix HADOOP-139. Remove a potential deadlock in
  427. LocalFileSystem.lock(). (Igor Bolotin via cutting)
  428. 14. Fix HADOOP-134. Don't hang jobs when the tasktracker is
  429. misconfigured to use an un-writable local directory. (omalley via cutting)
  430. 15. Fix HADOOP-115. Correct an error message. (Stack via cutting)
  431. 16. Fix HADOOP-133. Retry pings from child to parent, in case of
  432. (local) communcation problems. Also log exit status, so that one
  433. can distinguish patricide from other deaths. (omalley via cutting)
  434. 17. Fix HADOOP-142. Avoid re-running a task on a host where it has
  435. previously failed. (omalley via cutting)
  436. 18. Fix HADOOP-148. Maintain a task failure count for each
  437. tasktracker and display it in the web ui. (omalley via cutting)
  438. 19. Fix HADOOP-151. Close a potential socket leak, where new IPC
  439. connection pools were created per configuration instance that RPCs
  440. use. Now a global RPC connection pool is used again, as
  441. originally intended. (cutting)
  442. 20. Fix HADOOP-69. Don't throw a NullPointerException when getting
  443. hints for non-existing file split. (Bryan Pendelton via cutting)
  444. 21. Fix HADOOP-157. When a task that writes dfs files (e.g., a reduce
  445. task) failed and was retried, it would fail again and again,
  446. eventually failing the job. The problem was that dfs did not yet
  447. know that the failed task had abandoned the files, and would not
  448. yet let another task create files with the same names. Dfs now
  449. retries when creating a file long enough for locks on abandoned
  450. files to expire. (omalley via cutting)
  451. 22. Fix HADOOP-150. Improved task names that include job
  452. names. (omalley via cutting)
  453. 23. Fix HADOOP-162. Fix ConcurrentModificationException when
  454. releasing file locks. (omalley via cutting)
  455. 24. Fix HADOOP-132. Initial check-in of new Metrics API, including
  456. implementations for writing metric data to a file and for sending
  457. it to Ganglia. (David Bowen via cutting)
  458. 25. Fix HADOOP-160. Remove some uneeded synchronization around
  459. time-consuming operations in the TaskTracker. (omalley via cutting)
  460. 26. Fix HADOOP-166. RPCs failed when passed subclasses of a declared
  461. parameter type. This is fixed by changing ObjectWritable to store
  462. both the declared type and the instance type for Writables. Note
  463. that this incompatibly changes the format of ObjectWritable and
  464. will render unreadable any ObjectWritables stored in files.
  465. Nutch only uses ObjectWritable in intermediate files, so this
  466. should not be a problem for Nutch. (Stefan & cutting)
  467. 27. Fix HADOOP-168. MapReduce RPC protocol methods should all declare
  468. IOException, so that timeouts are handled appropriately.
  469. (omalley via cutting)
  470. 28. Fix HADOOP-169. Don't fail a reduce task if a call to the
  471. jobtracker to locate map outputs fails. (omalley via cutting)
  472. 29. Fix HADOOP-170. Permit FileSystem clients to examine and modify
  473. the replication count of individual files. Also fix a few
  474. replication-related bugs. (Konstantin Shvachko via cutting)
  475. 30. Permit specification of a higher replication levels for job
  476. submission files (job.xml and job.jar). This helps with large
  477. clusters, since these files are read by every node. (cutting)
  478. 31. HADOOP-173. Optimize allocation of tasks with local data. (cutting)
  479. 32. HADOOP-167. Reduce number of Configurations and JobConf's
  480. created. (omalley via cutting)
  481. 33. NUTCH-256. Change FileSystem#createNewFile() to create a .crc
  482. file. The lack of a .crc file was causing warnings. (cutting)
  483. 34. HADOOP-174. Change JobClient to not abort job until it has failed
  484. to contact the job tracker for five attempts, not just one as
  485. before. (omalley via cutting)
  486. 35. HADOOP-177. Change MapReduce web interface to page through tasks.
  487. Previously, when jobs had more than a few thousand tasks they
  488. could crash web browsers. (Mahadev Konar via cutting)
  489. 36. HADOOP-178. In DFS, piggyback blockwork requests from datanodes
  490. on heartbeat responses from namenode. This reduces the volume of
  491. RPC traffic. Also move startup delay in blockwork from datanode
  492. to namenode. This fixes a problem where restarting the namenode
  493. triggered a lot of uneeded replication. (Hairong Kuang via cutting)
  494. 37. HADOOP-183. If the DFS namenode is restarted with different
  495. minimum and/or maximum replication counts, existing files'
  496. replication counts are now automatically adjusted to be within the
  497. newly configured bounds. (Hairong Kuang via cutting)
  498. 38. HADOOP-186. Better error handling in TaskTracker's top-level
  499. loop. Also improve calculation of time to send next heartbeat.
  500. (omalley via cutting)
  501. 39. HADOOP-187. Add two MapReduce examples/benchmarks. One creates
  502. files containing random data. The second sorts the output of the
  503. first. (omalley via cutting)
  504. 40. HADOOP-185. Fix so that, when a task tracker times out making the
  505. RPC asking for a new task to run, the job tracker does not think
  506. that it is actually running the task returned. (omalley via cutting)
  507. 41. HADOOP-190. If a child process hangs after it has reported
  508. completion, its output should not be lost. (Stack via cutting)
  509. 42. HADOOP-184. Re-structure some test code to better support testing
  510. on a cluster. (Mahadev Konar via cutting)
  511. 43. HADOOP-191 Add streaming package, Hadoop's first contrib module.
  512. This permits folks to easily submit MapReduce jobs whose map and
  513. reduce functions are implemented by shell commands. Use
  514. 'bin/hadoop jar build/hadoop-streaming.jar' to get details.
  515. (Michel Tourn via cutting)
  516. 44. HADOOP-189. Fix MapReduce in standalone configuration to
  517. correctly handle job jar files that contain a lib directory with
  518. nested jar files. (cutting)
  519. 45. HADOOP-65. Initial version of record I/O framework that enables
  520. the specification of record types and generates marshalling code
  521. in both Java and C++. Generated Java code implements
  522. WritableComparable, but is not yet otherwise used by
  523. Hadoop. (Milind Bhandarkar via cutting)
  524. 46. HADOOP-193. Add a MapReduce-based FileSystem benchmark.
  525. (Konstantin Shvachko via cutting)
  526. 47. HADOOP-194. Add a MapReduce-based FileSystem checker. This reads
  527. every block in every file in the filesystem. (Konstantin Shvachko
  528. via cutting)
  529. 48. HADOOP-182. Fix so that lost task trackers to not change the
  530. status of reduce tasks or completed jobs. Also fixes the progress
  531. meter so that failed tasks are subtracted. (omalley via cutting)
  532. 49. HADOOP-96. Logging improvements. Log files are now separate from
  533. standard output and standard error files. Logs are now rolled.
  534. Logging of all DFS state changes can be enabled, to facilitate
  535. debugging. (Hairong Kuang via cutting)
  536. Release 0.1.1 - 2006-04-08
  537. 1. Added CHANGES.txt, logging all significant changes to Hadoop. (cutting)
  538. 2. Fix MapReduceBase.close() to throw IOException, as declared in the
  539. Closeable interface. This permits subclasses which override this
  540. method to throw that exception. (cutting)
  541. 3. Fix HADOOP-117. Pathnames were mistakenly transposed in
  542. JobConf.getLocalFile() causing many mapred temporary files to not
  543. be removed. (Raghavendra Prabhu via cutting)
  544. 4. Fix HADOOP-116. Clean up job submission files when jobs complete.
  545. (cutting)
  546. 5. Fix HADOOP-125. Fix handling of absolute paths on Windows (cutting)
  547. Release 0.1.0 - 2006-04-01
  548. 1. The first release of Hadoop.