CHANGES.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. Hadoop Change Log
  2. Trunk (unreleased changes)
  3. 1. HADOOP-298. Improved progress reports for CopyFiles utility, the
  4. distributed file copier. (omalley via cutting)
  5. 2. HADOOP-299. Fix the task tracker, permitting multiple jobs to
  6. more easily execute at the same time. (omalley via cutting)
  7. 3. HADOOP-250. Add an HTTP user interface to the namenode, running
  8. on port 50070. (Devaraj Das via cutting)
  9. 4. HADOOP-123. Add MapReduce unit tests that run a jobtracker and
  10. tasktracker, greatly increasing code coverage.
  11. (Milind Bhandarkar via cutting)
  12. 5. HADOOP-271. Add links from jobtracker's web ui to tasktracker's
  13. web ui. Also attempt to log a thread dump of child processes
  14. before they're killed. (omalley via cutting)
  15. Release 0.3.2 - 2006-06-09
  16. 1. HADOOP-275. Update the streaming contrib module to use log4j for
  17. its logging. (Michel Tourn via cutting)
  18. 2. HADOOP-279. Provide defaults for log4j logging parameters, so
  19. that things still work reasonably when Hadoop-specific system
  20. properties are not provided. (omalley via cutting)
  21. 3. HADOOP-280. Fix a typo in AllTestDriver which caused the wrong
  22. test to be run when "DistributedFSCheck" was specified.
  23. (Konstantin Shvachko via cutting)
  24. 4. HADOOP-240. DFS's mkdirs() implementation no longer logs a warning
  25. when the directory already exists. (Hairong Kuang via cutting)
  26. 5. HADOOP-285. Fix DFS datanodes to be able to re-join the cluster
  27. after the connection to the namenode is lost. (omalley via cutting)
  28. 6. HADOOP-277. Fix a race condition when creating directories.
  29. (Sameer Paranjpye via cutting)
  30. 7. HADOOP-289. Improved exception handling in DFS datanode.
  31. (Konstantin Shvachko via cutting)
  32. 8. HADOOP-292. Fix client-side logging to go to standard error
  33. rather than standard output, so that it can be distinguished from
  34. application output. (omalley via cutting)
  35. 9. HADOOP-294. Fixed bug where conditions for retrying after errors
  36. in the DFS client were reversed. (omalley via cutting)
  37. Release 0.3.1 - 2006-06-05
  38. 1. HADOOP-272. Fix a bug in bin/hadoop setting log
  39. parameters. (omalley & cutting)
  40. 2. HADOOP-274. Change applications to log to standard output rather
  41. than to a rolling log file like daemons. (omalley via cutting)
  42. 3. HADOOP-262. Fix reduce tasks to report progress while they're
  43. waiting for map outputs, so that they do not time out.
  44. (Mahadev Konar via cutting)
  45. 4. HADOOP-245 and HADOOP-246. Improvements to record io package.
  46. (Mahadev Konar via cutting)
  47. 5. HADOOP-276. Add logging config files to jar file so that they're
  48. always found. (omalley via cutting)
  49. Release 0.3.0 - 2006-06-02
  50. 1. HADOOP-208. Enhance MapReduce web interface, adding new pages
  51. for failed tasks, and tasktrackers. (omalley via cutting)
  52. 2. HADOOP-204. Tweaks to metrics package. (David Bowen via cutting)
  53. 3. HADOOP-209. Add a MapReduce-based file copier. This will
  54. copy files within or between file systems in parallel.
  55. (Milind Bhandarkar via cutting)
  56. 4. HADOOP-146. Fix DFS to check when randomly generating a new block
  57. id that no existing blocks already have that id.
  58. (Milind Bhandarkar via cutting)
  59. 5. HADOOP-180. Make a daemon thread that does the actual task clean ups, so
  60. that the main offerService thread in the taskTracker doesn't get stuck
  61. and miss his heartbeat window. This was killing many task trackers as
  62. big jobs finished (300+ tasks / node). (omalley via cutting)
  63. 6. HADOOP-200. Avoid transmitting entire list of map task names to
  64. reduce tasks. Instead just transmit the number of map tasks and
  65. henceforth refer to them by number when collecting map output.
  66. (omalley via cutting)
  67. 7. HADOOP-219. Fix a NullPointerException when handling a checksum
  68. exception under SequenceFile.Sorter.sort(). (cutting & stack)
  69. 8. HADOOP-212. Permit alteration of the file block size in DFS. The
  70. default block size for new files may now be specified in the
  71. configuration with the dfs.block.size property. The block size
  72. may also be specified when files are opened.
  73. (omalley via cutting)
  74. 9. HADOOP-218. Avoid accessing configuration while looping through
  75. tasks in JobTracker. (Mahadev Konar via cutting)
  76. 10. HADOOP-161. Add hashCode() method to DFS's Block.
  77. (Milind Bhandarkar via cutting)
  78. 11. HADOOP-115. Map output types may now be specified. These are also
  79. used as reduce input types, thus permitting reduce input types to
  80. differ from reduce output types. (Runping Qi via cutting)
  81. 12. HADOOP-216. Add task progress to task status page.
  82. (Bryan Pendelton via cutting)
  83. 13. HADOOP-233. Add web server to task tracker that shows running
  84. tasks and logs. Also add log access to job tracker web interface.
  85. (omalley via cutting)
  86. 14. HADOOP-205. Incorporate pending tasks into tasktracker load
  87. calculations. (Mahadev Konar via cutting)
  88. 15. HADOOP-247. Fix sort progress to better handle exceptions.
  89. (Mahadev Konar via cutting)
  90. 16. HADOOP-195. Improve performance of the transfer of map outputs to
  91. reduce nodes by performing multiple transfers in parallel, each on
  92. a separate socket. (Sameer Paranjpye via cutting)
  93. 17. HADOOP-251. Fix task processes to be tolerant of failed progress
  94. reports to their parent process. (omalley via cutting)
  95. 18. HADOOP-325. Improve the FileNotFound exceptions thrown by
  96. LocalFileSystem to include the name of the file.
  97. (Benjamin Reed via cutting)
  98. 19. HADOOP-254. Use HTTP to transfer map output data to reduce
  99. nodes. This, together with HADOOP-195, greatly improves the
  100. performance of these transfers. (omalley via cutting)
  101. 20. HADOOP-163. Cause datanodes that\ are unable to either read or
  102. write data to exit, so that the namenode will no longer target
  103. them for new blocks and will replicate their data on other nodes.
  104. (Hairong Kuang via cutting)
  105. 21. HADOOP-222. Add a -setrep option to the dfs commands that alters
  106. file replication levels. (Johan Oskarson via cutting)
  107. 22. HADOOP-75. In DFS, only check for a complete file when the file
  108. is closed, rather than as each block is written.
  109. (Milind Bhandarkar via cutting)
  110. 23. HADOOP-124. Change DFS so that datanodes are identified by a
  111. persistent ID rather than by host and port. This solves a number
  112. of filesystem integrity problems, when, e.g., datanodes are
  113. restarted. (Konstantin Shvachko via cutting)
  114. 24. HADOOP-256. Add a C API for DFS. (Arun C Murthy via cutting)
  115. 25. HADOOP-211. Switch to use the Jakarta Commons logging internally,
  116. configured to use log4j by default. (Arun C Murthy and cutting)
  117. 26. HADOOP-265. Tasktracker now fails to start if it does not have a
  118. writable local directory for temporary files. In this case, it
  119. logs a message to the JobTracker and exits. (Hairong Kuang via cutting)
  120. 27. HADOOP-270. Fix potential deadlock in datanode shutdown.
  121. (Hairong Kuang via cutting)
  122. Release 0.2.1 - 2006-05-12
  123. 1. HADOOP-199. Fix reduce progress (broken by HADOOP-182).
  124. (omalley via cutting)
  125. 2. HADOOP-201. Fix 'bin/hadoop dfs -report'. (cutting)
  126. 3. HADOOP-207. Fix JDK 1.4 incompatibility introduced by HADOOP-96.
  127. System.getenv() does not work in JDK 1.4. (Hairong Kuang via cutting)
  128. Release 0.2.0 - 2006-05-05
  129. 1. Fix HADOOP-126. 'bin/hadoop dfs -cp' now correctly copies .crc
  130. files. (Konstantin Shvachko via cutting)
  131. 2. Fix HADOOP-51. Change DFS to support per-file replication counts.
  132. (Konstantin Shvachko via cutting)
  133. 3. Fix HADOOP-131. Add scripts to start/stop dfs and mapred daemons.
  134. Use these in start/stop-all scripts. (Chris Mattmann via cutting)
  135. 4. Stop using ssh options by default that are not yet in widely used
  136. versions of ssh. Folks can still enable their use by uncommenting
  137. a line in conf/hadoop-env.sh. (cutting)
  138. 5. Fix HADOOP-92. Show information about all attempts to run each
  139. task in the web ui. (Mahadev konar via cutting)
  140. 6. Fix HADOOP-128. Improved DFS error handling. (Owen O'Malley via cutting)
  141. 7. Fix HADOOP-129. Replace uses of java.io.File with new class named
  142. Path. This fixes bugs where java.io.File methods were called
  143. directly when FileSystem methods were desired, and reduces the
  144. likelihood of such bugs in the future. It also makes the handling
  145. of pathnames more consistent between local and dfs FileSystems and
  146. between Windows and Unix. java.io.File-based methods are still
  147. available for back-compatibility, but are deprecated and will be
  148. removed once 0.2 is released. (cutting)
  149. 8. Change dfs.data.dir and mapred.local.dir to be comma-separated
  150. lists of directories, no longer be space-separated. This fixes
  151. several bugs on Windows. (cutting)
  152. 9. Fix HADOOP-144. Use mapred task id for dfs client id, to
  153. facilitate debugging. (omalley via cutting)
  154. 10. Fix HADOOP-143. Do not line-wrap stack-traces in web ui.
  155. (omalley via cutting)
  156. 11. Fix HADOOP-118. In DFS, improve clean up of abandoned file
  157. creations. (omalley via cutting)
  158. 12. Fix HADOOP-138. Stop multiple tasks in a single heartbeat, rather
  159. than one per heartbeat. (Stefan via cutting)
  160. 13. Fix HADOOP-139. Remove a potential deadlock in
  161. LocalFileSystem.lock(). (Igor Bolotin via cutting)
  162. 14. Fix HADOOP-134. Don't hang jobs when the tasktracker is
  163. misconfigured to use an un-writable local directory. (omalley via cutting)
  164. 15. Fix HADOOP-115. Correct an error message. (Stack via cutting)
  165. 16. Fix HADOOP-133. Retry pings from child to parent, in case of
  166. (local) communcation problems. Also log exit status, so that one
  167. can distinguish patricide from other deaths. (omalley via cutting)
  168. 17. Fix HADOOP-142. Avoid re-running a task on a host where it has
  169. previously failed. (omalley via cutting)
  170. 18. Fix HADOOP-148. Maintain a task failure count for each
  171. tasktracker and display it in the web ui. (omalley via cutting)
  172. 19. Fix HADOOP-151. Close a potential socket leak, where new IPC
  173. connection pools were created per configuration instance that RPCs
  174. use. Now a global RPC connection pool is used again, as
  175. originally intended. (cutting)
  176. 20. Fix HADOOP-69. Don't throw a NullPointerException when getting
  177. hints for non-existing file split. (Bryan Pendelton via cutting)
  178. 21. Fix HADOOP-157. When a task that writes dfs files (e.g., a reduce
  179. task) failed and was retried, it would fail again and again,
  180. eventually failing the job. The problem was that dfs did not yet
  181. know that the failed task had abandoned the files, and would not
  182. yet let another task create files with the same names. Dfs now
  183. retries when creating a file long enough for locks on abandoned
  184. files to expire. (omalley via cutting)
  185. 22. Fix HADOOP-150. Improved task names that include job
  186. names. (omalley via cutting)
  187. 23. Fix HADOOP-162. Fix ConcurrentModificationException when
  188. releasing file locks. (omalley via cutting)
  189. 24. Fix HADOOP-132. Initial check-in of new Metrics API, including
  190. implementations for writing metric data to a file and for sending
  191. it to Ganglia. (David Bowen via cutting)
  192. 25. Fix HADOOP-160. Remove some uneeded synchronization around
  193. time-consuming operations in the TaskTracker. (omalley via cutting)
  194. 26. Fix HADOOP-166. RPCs failed when passed subclasses of a declared
  195. parameter type. This is fixed by changing ObjectWritable to store
  196. both the declared type and the instance type for Writables. Note
  197. that this incompatibly changes the format of ObjectWritable and
  198. will render unreadable any ObjectWritables stored in files.
  199. Nutch only uses ObjectWritable in intermediate files, so this
  200. should not be a problem for Nutch. (Stefan & cutting)
  201. 27. Fix HADOOP-168. MapReduce RPC protocol methods should all declare
  202. IOException, so that timeouts are handled appropriately.
  203. (omalley via cutting)
  204. 28. Fix HADOOP-169. Don't fail a reduce task if a call to the
  205. jobtracker to locate map outputs fails. (omalley via cutting)
  206. 29. Fix HADOOP-170. Permit FileSystem clients to examine and modify
  207. the replication count of individual files. Also fix a few
  208. replication-related bugs. (Konstantin Shvachko via cutting)
  209. 30. Permit specification of a higher replication levels for job
  210. submission files (job.xml and job.jar). This helps with large
  211. clusters, since these files are read by every node. (cutting)
  212. 31. HADOOP-173. Optimize allocation of tasks with local data. (cutting)
  213. 32. HADOOP-167. Reduce number of Configurations and JobConf's
  214. created. (omalley via cutting)
  215. 33. NUTCH-256. Change FileSystem#createNewFile() to create a .crc
  216. file. The lack of a .crc file was causing warnings. (cutting)
  217. 34. HADOOP-174. Change JobClient to not abort job until it has failed
  218. to contact the job tracker for five attempts, not just one as
  219. before. (omalley via cutting)
  220. 35. HADOOP-177. Change MapReduce web interface to page through tasks.
  221. Previously, when jobs had more than a few thousand tasks they
  222. could crash web browsers. (Mahadev Konar via cutting)
  223. 36. HADOOP-178. In DFS, piggyback blockwork requests from datanodes
  224. on heartbeat responses from namenode. This reduces the volume of
  225. RPC traffic. Also move startup delay in blockwork from datanode
  226. to namenode. This fixes a problem where restarting the namenode
  227. triggered a lot of uneeded replication. (Hairong Kuang via cutting)
  228. 37. HADOOP-183. If the DFS namenode is restarted with different
  229. minimum and/or maximum replication counts, existing files'
  230. replication counts are now automatically adjusted to be within the
  231. newly configured bounds. (Hairong Kuang via cutting)
  232. 38. HADOOP-186. Better error handling in TaskTracker's top-level
  233. loop. Also improve calculation of time to send next heartbeat.
  234. (omalley via cutting)
  235. 39. HADOOP-187. Add two MapReduce examples/benchmarks. One creates
  236. files containing random data. The second sorts the output of the
  237. first. (omalley via cutting)
  238. 40. HADOOP-185. Fix so that, when a task tracker times out making the
  239. RPC asking for a new task to run, the job tracker does not think
  240. that it is actually running the task returned. (omalley via cutting)
  241. 41. HADOOP-190. If a child process hangs after it has reported
  242. completion, its output should not be lost. (Stack via cutting)
  243. 42. HADOOP-184. Re-structure some test code to better support testing
  244. on a cluster. (Mahadev Konar via cutting)
  245. 43. HADOOP-191 Add streaming package, Hadoop's first contrib module.
  246. This permits folks to easily submit MapReduce jobs whose map and
  247. reduce functions are implemented by shell commands. Use
  248. 'bin/hadoop jar build/hadoop-streaming.jar' to get details.
  249. (Michel Tourn via cutting)
  250. 44. HADOOP-189. Fix MapReduce in standalone configuration to
  251. correctly handle job jar files that contain a lib directory with
  252. nested jar files. (cutting)
  253. 45. HADOOP-65. Initial version of record I/O framework that enables
  254. the specification of record types and generates marshalling code
  255. in both Java and C++. Generated Java code implements
  256. WritableComparable, but is not yet otherwise used by
  257. Hadoop. (Milind Bhandarkar via cutting)
  258. 46. HADOOP-193. Add a MapReduce-based FileSystem benchmark.
  259. (Konstantin Shvachko via cutting)
  260. 47. HADOOP-194. Add a MapReduce-based FileSystem checker. This reads
  261. every block in every file in the filesystem. (Konstantin Shvachko
  262. via cutting)
  263. 48. HADOOP-182. Fix so that lost task trackers to not change the
  264. status of reduce tasks or completed jobs. Also fixes the progress
  265. meter so that failed tasks are subtracted. (omalley via cutting)
  266. 49. HADOOP-96. Logging improvements. Log files are now separate from
  267. standard output and standard error files. Logs are now rolled.
  268. Logging of all DFS state changes can be enabled, to facilitate
  269. debugging. (Hairong Kuang via cutting)
  270. Release 0.1.1 - 2006-04-08
  271. 1. Added CHANGES.txt, logging all significant changes to Hadoop. (cutting)
  272. 2. Fix MapReduceBase.close() to throw IOException, as declared in the
  273. Closeable interface. This permits subclasses which override this
  274. method to throw that exception. (cutting)
  275. 3. Fix HADOOP-117. Pathnames were mistakenly transposed in
  276. JobConf.getLocalFile() causing many mapred temporary files to not
  277. be removed. (Raghavendra Prabhu via cutting)
  278. 4. Fix HADOOP-116. Clean up job submission files when jobs complete.
  279. (cutting)
  280. 5. Fix HADOOP-125. Fix handling of absolute paths on Windows (cutting)
  281. Release 0.1.0 - 2006-04-01
  282. 1. The first release of Hadoop.