[jira] Updated: (MAPREDUCE-1466) FileInputFormat should save #input-files in JobConf

2010-02-15 Thread Hemanth Yamijala (JIRA)

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

Hemanth Yamijala updated MAPREDUCE-1466:


Release Note: Added a private configuration variable 
mapreduce.input.num.files, to store number of input files being processed by 
M/R job.

> FileInputFormat should save #input-files in JobConf
> ---
>
> Key: MAPREDUCE-1466
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1466
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>  Components: client
>Reporter: Arun C Murthy
>Assignee: Arun C Murthy
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1466_yhadoop20-1.patch, 
> MAPREDUCE-1466_yhadoop20-2.patch, MAPREDUCE-1466_yhadoop20.patch
>
>
> We already track the amount of data consumed by MR applications 
> (MAP_INPUT_BYTES), alongwith, it would be useful to #input-files from the 
> client-side for analysis. Along the lines of MAPREDUCE-1403, it would be easy 
> to stick in the JobConf during job-submission.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1403) Save file-sizes of each of the artifacts in DistributedCache in the JobConf

2010-02-15 Thread Hemanth Yamijala (JIRA)

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

Hemanth Yamijala updated MAPREDUCE-1403:


Release Note: Added private configuration variables: 
mapred.cache.files.filesizes and mapred.cache.archives.filesizes to store sizes 
of distributed cache artifacts per job. This can be used by tools like Gridmix 
in simulation runs. 

> Save file-sizes of each of the artifacts in DistributedCache in the JobConf
> ---
>
> Key: MAPREDUCE-1403
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1403
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>  Components: client
>Reporter: Arun C Murthy
>Assignee: Arun C Murthy
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1403_yhadoop20-1.patch, 
> MAPREDUCE-1403_yhadoop20.patch
>
>
> It would be a useful metric to collect... potentially GridMix could use it to 
> emulate jobs which use the DistributedCache.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1466) FileInputFormat should save #input-files in JobConf

2010-02-15 Thread Hemanth Yamijala (JIRA)

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

Hemanth Yamijala updated MAPREDUCE-1466:


Attachment: MAPREDUCE-1466_yhadoop20-2.patch

Patch removing prefixes in file names generated due to incorrect diff command.

> FileInputFormat should save #input-files in JobConf
> ---
>
> Key: MAPREDUCE-1466
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1466
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>  Components: client
>Reporter: Arun C Murthy
>Assignee: Arun C Murthy
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1466_yhadoop20-1.patch, 
> MAPREDUCE-1466_yhadoop20-2.patch, MAPREDUCE-1466_yhadoop20.patch
>
>
> We already track the amount of data consumed by MR applications 
> (MAP_INPUT_BYTES), alongwith, it would be useful to #input-files from the 
> client-side for analysis. Along the lines of MAPREDUCE-1403, it would be easy 
> to stick in the JobConf during job-submission.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1413) Improve logging of progress/errors in the job and task trackers

2010-02-15 Thread Chris Douglas (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834105#action_12834105
 ] 

Chris Douglas commented on MAPREDUCE-1413:
--

That seems tautological to me: if one's logger is configured to not print the 
exception, then it is unavailable in the logs. But as a practical 
accommodation, I see your point. OK.

Instead of defining {{toString()}} for the TaskTracker, could this just print 
the relevant information in offerService? Or are you using that in the service 
lifecycle branch somehow?

> Improve logging of progress/errors in the job and task trackers
> ---
>
> Key: MAPREDUCE-1413
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1413
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>  Components: tasktracker
>Affects Versions: 0.22.0
>Reporter: Steve Loughran
>Assignee: Steve Loughran
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1413.patch
>
>
> I have code that improves the logging of the trackers as they start stop and 
> fail, through
> # More logging of events
> # including exception strings and stacks when things go wrong
> People's whose JTs and TTs aren't behaving may appreciate this

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin waiting for a job to be half done

2010-02-15 Thread Chris Douglas (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834104#action_12834104
 ] 

Chris Douglas commented on MAPREDUCE-1414:
--

The test harness, I'd argue, is not more robust because there is a log when the 
test fails for ambiguous reasons. I tried running this test on my laptop, it 
failed because the job took more than a minute, and it was still unclear why- 
or whether- that was a problem. The log artifact was just as useless as nothing 
and the proposed patch doesn't change that; it makes an already flaky test even 
less reliable by introducing a failure case that is not implicit in what the 
test is validating.

If the test is flaky, the framework and/or the test are flawed. The current 
patch proposes to fix neither one.

>  TestRecoveryManager can spin waiting for a job to be half done
> ---
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: test
>Affects Versions: 0.22.0
>Reporter: Steve Loughran
>Assignee: Steve Loughran
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting 
> for a job to get half done. The test runner will eventually kill it, but that 
> loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1354) Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS accesses

2010-02-15 Thread Arun C Murthy (JIRA)

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

Arun C Murthy updated MAPREDUCE-1354:
-

Attachment: MAPREDUCE-1354_yhadoop20.patch

Updated patch to incorporate MAPREDUCE-1495 alongwith fixing pretty much all 
uses of JobConf inside the scheduling code in JIP and the CS.

> Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS 
> accesses
> -
>
> Key: MAPREDUCE-1354
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1354
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: jobtracker
>Reporter: Devaraj Das
>Assignee: Arun C Murthy
>Priority: Critical
> Attachments: MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch
>
>
> It'd be nice to have the JobTracker object not be locked while accessing the 
> HDFS for reading the jobconf file and while writing the jobinfo file in the 
> submitJob method. We should see if we can avoid taking the lock altogether.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1307) Introduce the concept of Job Permissions

2010-02-15 Thread Devaraj Das (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834092#action_12834092
 ] 

Devaraj Das commented on MAPREDUCE-1307:


Some comments summarizing an offline discussion with Vinod:
1) Protect getTaskDiagnostics() APIs also w.r.t access control.
2) ACLs for jobs should be displayed as part of jobdetails (the front page for 
jobs where all high level info is displayed).
3) If a user gets an access control error, he should be informed about the 
configured ACLs for the job.
4) Make the ACL part of the JobStatus object so that it is visible to all 
interested parties who might be interested (including the command line to get 
the job status). Also, the CompletedJobStatusStore can make use of this and 
enforce access control..
5) Can we have the default ACL for job view enabled for the groups the user 
belongs to? Current patch makes the default to be '', meaning no one else 
except job-owner and superuser/supergroup can see others' jobs if 
mapreduce.cluster.job-authorization-enabled is set to true.

> Introduce the concept of Job Permissions
> 
>
> Key: MAPREDUCE-1307
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1307
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: security
>Reporter: Devaraj Das
>Assignee: Vinod K V
> Fix For: 0.22.0
>
> Attachments: 1307-early-1.patch, MAPREDUCE-1307-20100210.txt, 
> MAPREDUCE-1307-20100211.txt, MAPREDUCE-1307-20100215.txt
>
>
> It would be good to define the notion of job permissions analogous to file 
> permissions. Then the JobTracker can restrict who can "read" (e.g. look at 
> the job page) or "modify" (e.g. kill) jobs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1398:
---

Fix Version/s: 0.22.0

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1398-1.txt, patch-1398-2.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1398:
---

Attachment: patch-1398-2.txt

Patch with comments incorporated.

bq. The default value for taskMemoryManagerEnabled was changed in the patch 
which seemed unnecessary. Can we instead override isTaskMemoryManagerEnabled, 
if we just want to short circuit this in the test case ?
Instead of overriding isTaskMemoryManagerEnabled(), I made 
setTaskMemoryManagerEnabledFlag() method package private and called it from 
testcase to turn off memory management.

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1398-1.txt, patch-1398-2.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1398:
---

Status: Patch Available  (was: Open)

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Attachments: patch-1398-1.txt, patch-1398-2.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1408) Allow customization of job submission policies

2010-02-15 Thread rahul k singh (JIRA)

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

rahul k singh updated MAPREDUCE-1408:
-

Attachment: 1408-2.patch

Implemented all the points mentioned above except:
The JobMonitor::process method can probably be removed, since it doesn't do any 
meaningful work (the instance is instead passed to the downstream 
StatsCollector, which does). The monitor is then only responsible for 
determining when the job is done, not its outcome The unit test can subclass 
the downstream component instead of subclassing JobMonitor 

The above is not done , due to time constraints and also extend Statistics is 
taking time. Will open the new jira where we will remove the process method.

For the question:
If a job fails submission in serial mode, wil the JobFactory be woken up?
yes 

> Allow customization of job submission policies
> --
>
> Key: MAPREDUCE-1408
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1408
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: contrib/gridmix
>Reporter: rahul k singh
> Attachments: 1408-1.patch, 1408-2.patch
>
>
> Currently, gridmix3 replay job submission faithfully. For evaluation 
> purposes, it would be great if we can support other job submission policies 
> such as sequential job submission, or stress job submission.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1398:
---

Status: Open  (was: Patch Available)

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Attachments: patch-1398-1.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Hemanth Yamijala (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834087#action_12834087
 ] 

Hemanth Yamijala commented on MAPREDUCE-1398:
-

Looks good overall. Few minor nits:

- The default value for taskMemoryManagerEnabled was changed in the patch which 
seemed unnecessary. Can we instead override isTaskMemoryManagerEnabled, if we 
just want to short circuit this in the test case ?
- We can use the setIndexCache API to initialize the index cache in the main TT 
also.
- It would be really helpful to add a log line where we break the 
TaskLauncher's loop on detecting the killed condition.

Can you please make these changes and make the patch run through Hudson ?

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Attachments: patch-1398-1.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1354) Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS accesses

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834078#action_12834078
 ] 

Amareshwari Sriramadasu commented on MAPREDUCE-1354:


Some comments on the patch:
1. JobInProgress constructor calls methods like 
JobTracker.getSystemDirectoryForJob(). This method is called with JobTracker 
lock sometimes, JobTracker lock followed by JobInProgress lock sometimes and 
without any lock in this case. I think this should not effect any, but we 
should verify all the locking orders for all the back calls from JobInProgress 
constructor to JobTracker.
2. Unused import for org.apache.tools.ant.taskdefs.condition.HasMethod in 
JobInProgress
3. Variable JobTracker.EMPTY_TASK_DIAGNOSTICS is not used anywhere.

> Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS 
> accesses
> -
>
> Key: MAPREDUCE-1354
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1354
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: jobtracker
>Reporter: Devaraj Das
>Assignee: Arun C Murthy
>Priority: Critical
> Attachments: MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch
>
>
> It'd be nice to have the JobTracker object not be locked while accessing the 
> HDFS for reading the jobconf file and while writing the jobinfo file in the 
> submitJob method. We should see if we can avoid taking the lock altogether.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1398) TaskLauncher remains stuck on tasks waiting for free nodes even if task is killed.

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1398:
---

Attachment: patch-1398-1.txt

Added one more assertion to the testcase.

> TaskLauncher remains stuck on tasks waiting for free nodes even if task is 
> killed.
> --
>
> Key: MAPREDUCE-1398
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1398
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker
>Reporter: Hemanth Yamijala
>Assignee: Amareshwari Sriramadasu
> Attachments: patch-1398-1.txt, patch-1398.txt
>
>
> Tasks could be assigned to trackers for slots that are running other tasks in 
> a commit pending state. This is an optimization done to pipeline task 
> assignment and launch. When the task reaches the tracker, it waits until 
> sufficient slots become free for it. This wait is done in the TaskLauncher 
> thread. Now, while waiting, if the task is killed externally (maybe because 
> the job finishes, etc), the TaskLauncher is not notified of this. So, it 
> continues to wait for the killed task to get sufficient slots. If slots do 
> not become free for a long time, this would result in considerable delay in 
> waking up the TaskLauncher thread. If the waiting task happens to be a high 
> RAM task, then it is also wasteful, because by waking up, it can make way for 
> normal tasks that can run on the available number of slots.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1354) Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS accesses

2010-02-15 Thread Arun C Murthy (JIRA)

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

Arun C Murthy updated MAPREDUCE-1354:
-

Attachment: MAPREDUCE-1354_yhadoop20.patch

Updated, fixed the framework to use the existing hasSpeculative{Maps|Reduces} 
rather than fetch it from the JobConf each time.

> Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS 
> accesses
> -
>
> Key: MAPREDUCE-1354
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1354
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: jobtracker
>Reporter: Devaraj Das
>Assignee: Arun C Murthy
>Priority: Critical
> Attachments: MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch
>
>
> It'd be nice to have the JobTracker object not be locked while accessing the 
> HDFS for reading the jobconf file and while writing the jobinfo file in the 
> submitJob method. We should see if we can avoid taking the lock altogether.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1455) Authorization for servlets

2010-02-15 Thread Devaraj Das (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834056#action_12834056
 ] 

Devaraj Das commented on MAPREDUCE-1455:


bq. 3) As tasktracker doesn't have the job ACLs, when any one tries to access 
task logs of a job, I propose we store the job ACLs in a file say job-acls.xml) 
when task log files are created by taskTracker. And tasktracker will read this 
job-acls.xml when somebody tries to access task logs using web UI and does the 
authorization. I guess job-acls.xml can contain only the 2 config properties 
mapreduce.job.user.name and mapreduce.job.acl-view-job.

Does it make sense to have the info in the log.info file that is already there 
in the task logs directory?

> Authorization for servlets
> --
>
> Key: MAPREDUCE-1455
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1455
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: jobtracker, security, tasktracker
>Reporter: Devaraj Das
>Assignee: Ravi Gummadi
> Fix For: 0.22.0
>
>
> This jira is about building the authorization for servlets (on top of 
> MAPREDUCE-1307). That is, the JobTracker/TaskTracker runs authorization 
> checks on web requests based on the configured job permissions. For e.g., if 
> the job permission is 600, then no one except the authenticated user can look 
> at the job details via the browser. The authenticated user in the servlet can 
> be obtained using the HttpServletRequest method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1354) Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS accesses

2010-02-15 Thread Arun C Murthy (JIRA)

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

Arun C Murthy updated MAPREDUCE-1354:
-

Attachment: MAPREDUCE-1354_yhadoop20.patch

Updated patch to cache JobConf.getMemoryFor{Map|Reduce}Task.

> Refactor JobTracker.submitJob to not lock the JobTracker during the HDFS 
> accesses
> -
>
> Key: MAPREDUCE-1354
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1354
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: jobtracker
>Reporter: Devaraj Das
>Assignee: Arun C Murthy
>Priority: Critical
> Attachments: MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch, MAPREDUCE-1354_yhadoop20.patch, 
> MAPREDUCE-1354_yhadoop20.patch
>
>
> It'd be nice to have the JobTracker object not be locked while accessing the 
> HDFS for reading the jobconf file and while writing the jobinfo file in the 
> submitJob method. We should see if we can avoid taking the lock altogether.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Rajesh Balamohan (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834030#action_12834030
 ] 

Rajesh Balamohan commented on MAPREDUCE-1495:
-

Made the following changes to reduce contentions and profiled JT. This 
virtually eliminated the 
contentions caused by getTaskCompletionEvents 

In JobTracker.java: (locking only jobs during get())

  public TaskCompletionEvent[] getTaskCompletionEvents(
  JobID jobid, int fromEventId, int maxEvents) throws IOException{
JobInProgress job = null;
synchronized (jobs) {
  job = this.jobs.get(jobid);
}
if (null != job) {
  if (job.inited()) {
return job.getTaskCompletionEvents(fromEventId, maxEvents);
  } else {
return EMPTY_EVENTS;
  }
}
return completedJobStatusStore.readJobTaskCompletionEvents(jobid, 
fromEventId, maxEvents);
  }
  
In Configuration.java: (eliminated synchronize on  method level. This might be 
required only when properties is null)
  private Properties getProps() {
if (properties == null) {
  synchronized(this) {
properties = new Properties();
loadResources(properties, resources, quietmode);
if (overlay!= null) {
  properties.putAll(overlay);
  if (storeResource) {
for (Map.Entry item: overlay.entrySet()) {
  updatingResource.put((String) item.getKey(), "Unknown");
}
  }
}
  }
}
return properties;
  }

> Reduce locking contention on JobTracker.getTaskCompletionEvents()
> -
>
> Key: MAPREDUCE-1495
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Affects Versions: 0.20.1
>Reporter: Rajesh Balamohan
>
> While profiling JT for slow performance with small-jobs, it was observed that 
> JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
> on JT.
> This JIRA ticket is created to explore the possibilities of reducing the 
> sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1307) Introduce the concept of Job Permissions

2010-02-15 Thread Devaraj Das (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834003#action_12834003
 ] 

Devaraj Das commented on MAPREDUCE-1307:


Looks good overall. There seems to be an unintentional change in 
JobContext.java (to do with JOB_TOKEN_FILE).

> Introduce the concept of Job Permissions
> 
>
> Key: MAPREDUCE-1307
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1307
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: security
>Reporter: Devaraj Das
>Assignee: Vinod K V
> Fix For: 0.22.0
>
> Attachments: 1307-early-1.patch, MAPREDUCE-1307-20100210.txt, 
> MAPREDUCE-1307-20100211.txt, MAPREDUCE-1307-20100215.txt
>
>
> It would be good to define the notion of job permissions analogous to file 
> permissions. Then the JobTracker can restrict who can "read" (e.g. look at 
> the job page) or "modify" (e.g. kill) jobs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-326) The lowest level map-reduce APIs should be byte oriented

2010-02-15 Thread Tom White (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833924#action_12833924
 ] 

Tom White commented on MAPREDUCE-326:
-

[Chris] > Section 3.3- addressing backwards compatibility- actually *introduces 
a buffer copy*, unless the serializers are backed by the output collector 
(which would make the call to {{collect}} redundant).
[Arun] > This is completely unworkable, it adds an extra buffer copy from the 
map's  into to the sort buffer (io.sort.mb) for the 'high-level' 
api.

The proposal does not introduce extra buffer copies. The example in section 3.3 
is really just a reorganization of the current code, since the serializers are 
constructed with DataOutputStream objects - just as they are now. The point is 
that the serialization is moved out of the kernel. There is no extra copying 
going on.

There is a mistake in the document - it should say RawMapOutputCollector takes 
DataOutputBuffer (not DataInputBuffer), or better, DataOutputStream objects - 
sorry if this was misleading.

[Chris] > One can read directly from a stream into a byte-oriented record and 
"serialize" that record into the MapOutputBuffer by a single buffer copy.
[Owen > Pipes *would* get much easier if it moved to the context object API. 
Moving to Tom's API wouldn't help at all over the context object API.

This incurs an extra copy in the byte-oriented record (BytesWritable). In the 
case of Pipes, for example, map outputs are read into a BytesWritable, which 
are then written to the MapOutputBuffer. With a binary API it would be possible 
to bypass the BytesWritable and write directly into the MapOutputBuffer.

[Arun] > I'm not sure I follow, what is the relation between 
MapOutputBuffer.collect and IFile.append? Are you proposing we do away with the 
sort?

No, of course not. Keys and values sent to MapOutputBuffer.collect() ultimately 
find their way to IFile.append() (in MapOutputBuffer's sortAndSpill() method). 
I'm just remarking that these become binary level interfaces, so there are no 
generic types in these interfaces in this proposal.

Perhaps the term "API" is causing confusion here. As I have said this is not 
intended for users - it should really be viewed as an integration point for 
developers. This situation is like the one for developers writing MapReduce 
schedulers. In this case the TaskScheduler class is package private, so 
developers have to put their scheduler implementation into the same package. 
For a binary layer, I am suggesting that we use the interface annotations to 
achieve a similar effect, but without the limitation that their classes have to 
go in the same package.


> The lowest level map-reduce APIs should be byte oriented
> 
>
> Key: MAPREDUCE-326
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-326
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Reporter: eric baldeschwieler
> Attachments: MAPREDUCE-326-api.patch, MAPREDUCE-326.pdf
>
>
> As discussed here:
> https://issues.apache.org/jira/browse/HADOOP-1986#action_12551237
> The templates, serializers and other complexities that allow map-reduce to 
> use arbitrary types complicate the design and lead to lots of object creates 
> and other overhead that a byte oriented design would not suffer.  I believe 
> the lowest level implementation of hadoop map-reduce should have byte string 
> oriented APIs (for keys and values).  This API would be more performant, 
> simpler and more easily cross language.
> The existing API could be maintained as a thin layer on top of the leaner API.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-326) The lowest level map-reduce APIs should be byte oriented

2010-02-15 Thread Doug Cutting (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833907#action_12833907
 ] 

Doug Cutting commented on MAPREDUCE-326:


Chris> If the goal is a faster binary API, then this should use NIO primitives 
[ ... ]

Perhaps this might instead look something like:

{code}
interface RawMapper {
  void map(Split, RawMapOutput);
}
interface RawMapOutput {
  // records are written as contiguous byte ranges here
  WritableByteChannel() getChannel();
  // call with the position of each record in the data written
  void addRecord(long start, long length);
  // utility to help keep track of bytes written
  long getBytesWritten();
}
{code}

The goal is to permit the kernel to identify record boundaries (so that it can 
compare, sort and transmit records) while at the same time minimize per-record 
data copying.  Getting this API right without benchmarking might prove 
difficult.  We should benchmark this under various scenarios: A key/value pair 
of Writable instances, line-based data from a text file, and length-delimited, 
raw binary data.

Chris> Better pipes/streaming workflows are explicitly considered in 
MAPREDUCE-1183; one can imagine an implementation of the MapTask or ReduceTask 
loading its user code in an implementation written in the native language.

Can you please elaborate?  I don't see the words "pipes" or "streaming" 
mentioned in that issue.  How does one load Python, Ruby, C++, etc. into Java?  
MAPREDUCE-1183 seems to me just to be a different way to encapsulate 
configuration data, grouping it per extension point rather than centralizing it 
in the job config.

> The lowest level map-reduce APIs should be byte oriented
> 
>
> Key: MAPREDUCE-326
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-326
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Reporter: eric baldeschwieler
> Attachments: MAPREDUCE-326-api.patch, MAPREDUCE-326.pdf
>
>
> As discussed here:
> https://issues.apache.org/jira/browse/HADOOP-1986#action_12551237
> The templates, serializers and other complexities that allow map-reduce to 
> use arbitrary types complicate the design and lead to lots of object creates 
> and other overhead that a byte oriented design would not suffer.  I believe 
> the lowest level implementation of hadoop map-reduce should have byte string 
> oriented APIs (for keys and values).  This API would be more performant, 
> simpler and more easily cross language.
> The existing API could be maintained as a thin layer on top of the leaner API.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (MAPREDUCE-1496) org.apache.hadoop.mapred.lib.FieldSelectionMapReduce removes empty fields from key/value end

2010-02-15 Thread Maxim Zizin (JIRA)
org.apache.hadoop.mapred.lib.FieldSelectionMapReduce removes empty fields from 
key/value end


 Key: MAPREDUCE-1496
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1496
 Project: Hadoop Map/Reduce
  Issue Type: Bug
Affects Versions: 0.20.1
Reporter: Maxim Zizin
Priority: Critical


If input record's key and/or value has empty fields in the end then these 
fields will be cut off by org.apache.hadoop.mapred.lib.FieldSelectionMapReduce

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1493) Authorization for job-history pages

2010-02-15 Thread Devaraj Das (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833900#action_12833900
 ] 

Devaraj Das commented on MAPREDUCE-1493:


I think we anyway should log the job ACLs in the history file for the job. So 
in that sense, the first option seems to make more sense to me.

> Authorization for job-history pages
> ---
>
> Key: MAPREDUCE-1493
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1493
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: jobtracker, security
>Reporter: Vinod K V
> Fix For: 0.22.0
>
>
> MAPREDUCE-1455 introduces authorization for most of the Map/Reduce jsp pages 
> and servlets, but left history pages. This JIRA will make sure that 
> authorization checks are made while accessing job-history pages also.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833859#action_12833859
 ] 

Hudson commented on MAPREDUCE-1476:
---

Integrated in Hadoop-Mapreduce-trunk-Commit #241 (See 
[http://hudson.zones.apache.org/hudson/job/Hadoop-Mapreduce-trunk-Commit/241/])
. Fix the M/R framework to not call commit for special tasks like job 
setup/cleanup and task cleanup. Contributed by Amareshwari Sriramadasu.


> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Hemanth Yamijala (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833836#action_12833836
 ] 

Hemanth Yamijala commented on MAPREDUCE-1495:
-

Oh. Sorry. I was thinking you were going to do 1 above and try and modify the 
TaskCompletionEvents list. The jobs data structure is ordered for the view 
calls which are sorted by JobID (and therefore to some extent by submit time). 
The first option seems like a really simple easy fix. Can we attempt that first 
and re-run the test.

> Reduce locking contention on JobTracker.getTaskCompletionEvents()
> -
>
> Key: MAPREDUCE-1495
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Affects Versions: 0.20.1
>Reporter: Rajesh Balamohan
>
> While profiling JT for slow performance with small-jobs, it was observed that 
> JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
> on JT.
> This JIRA ticket is created to explore the possibilities of reducing the 
> sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Rajesh Balamohan (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833834#action_12833834
 ] 

Rajesh Balamohan commented on MAPREDUCE-1495:
-

As of now, its implemented as follows in JobTracker

public synchronized TaskCompletionEvent[] getTaskCompletionEvents(
  JobID jobid, int fromEventId, int maxEvents) throws IOException{
synchronized (this) {
  JobInProgress job = this.jobs.get(jobid);
  if (null != job) {
if (job.inited()) {
  return job.getTaskCompletionEvents(fromEventId, maxEvents);
} else {
  return EMPTY_EVENTS;
}
  }
}
return completedJobStatusStore.readJobTaskCompletionEvents(jobid, 
fromEventId, maxEvents);
  }

Where, jobs is TreeMap(). 

It is possible to reduce to contention in 2 ways.

1. Reduce the synch to only JobInProgress job = this.jobs.get(jobid); Rest of 
the code is independent of the synch block (asaik).
2. Change datastructure of jobs to ConcurrentHashMap(). 
This way, we can jobs.get(jobid) automatically becomes threadsafe and the total 
synchornization itself can be eliminated. If its mandatory to maintain the 
order, I have to try the 1st  one.  

> Reduce locking contention on JobTracker.getTaskCompletionEvents()
> -
>
> Key: MAPREDUCE-1495
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Affects Versions: 0.20.1
>Reporter: Rajesh Balamohan
>
> While profiling JT for slow performance with small-jobs, it was observed that 
> JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
> on JT.
> This JIRA ticket is created to explore the possibilities of reducing the 
> sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Hemanth Yamijala (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833830#action_12833830
 ] 

Hemanth Yamijala commented on MAPREDUCE-1495:
-

bq. Will try to check the possibility of using ConcurrentHashMap as it can 
drastically minimize the requirement of synchronized (and by default it 
supports 16 concurrent threads).

Can you elaborate please ? The current data structure is a simple list. How are 
you modifying this to a map ? Also, I think the ordering of events is important.

> Reduce locking contention on JobTracker.getTaskCompletionEvents()
> -
>
> Key: MAPREDUCE-1495
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Affects Versions: 0.20.1
>Reporter: Rajesh Balamohan
>
> While profiling JT for slow performance with small-jobs, it was observed that 
> JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
> on JT.
> This JIRA ticket is created to explore the possibilities of reducing the 
> sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Rajesh Balamohan (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833819#action_12833819
 ] 

Rajesh Balamohan commented on MAPREDUCE-1495:
-

Will try to check the possibility of using ConcurrentHashMap as it can 
drastically minimize the requirement of synchronized (and by default it 
supports 16 concurrent threads). I shall try and post the outcome here.

> Reduce locking contention on JobTracker.getTaskCompletionEvents()
> -
>
> Key: MAPREDUCE-1495
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>Affects Versions: 0.20.1
>Reporter: Rajesh Balamohan
>
> While profiling JT for slow performance with small-jobs, it was observed that 
> JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
> on JT.
> This JIRA ticket is created to explore the possibilities of reducing the 
> sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1093) Java assertion failures triggered by tests

2010-02-15 Thread Vinod K V (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833818#action_12833818
 ] 

Vinod K V commented on MAPREDUCE-1093:
--

bq. This patch disables the failing assert in TestTaskTrackerMemoryManager.
Instead can we just let it be and file a new issue, attaching any test logs if 
possible there? I quickly looked at the code and seemed that it should work the 
way it is expressed in code.

So, I am leaning towards letting it be and going ahead with MAPREDUCE-1092. If 
you already have some logs, you can create a new issue rightaway; I can look 
into it..

> Java assertion failures triggered by tests
> --
>
> Key: MAPREDUCE-1093
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1093
> Project: Hadoop Map/Reduce
>  Issue Type: Test
>Reporter: Eli Collins
>Assignee: Aaron Kimball
> Attachments: MAPREDUCE-1093.patch
>
>
> While running the tests with java asserts enabled the following two asserts 
> fired:
> {code}
> testStateRefresh in TestQueueManager:
> try{
> Job job = submitSleepJob(10, 2, 10, 10, true,null, "default" );
> assert(job.isSuccessful()); <==
> }catch(Exception e){
> {code}
> {code}
> runJobExceedingMemoryLimit in TestTaskTrackerMemoryManager:
> for (TaskCompletionEvent tce : taskComplEvents) {
>   // Every task HAS to fail
>   assert (tce.getTaskStatus() == TaskCompletionEvent.Status.TIPFAILED || 
> tce <==
>   .getTaskStatus() == TaskCompletionEvent.Status.FAILED);
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1494) TestJobDirCleanup verifies wrong jobcache directory

2010-02-15 Thread Vinod K V (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833815#action_12833815
 ] 

Vinod K V commented on MAPREDUCE-1494:
--

Good catch! Looks that the null check (contents == null) was the one masking 
the error.

> TestJobDirCleanup verifies wrong jobcache directory
> ---
>
> Key: MAPREDUCE-1494
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1494
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: tasktracker, test
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
>Priority: Minor
> Fix For: 0.22.0
>
>
> TestJobDirCleanup verifies tasktracker/jobcache directory to be empty. But 
> localization happens in tasktracker/user/jobcache after MAPREDUCE-856.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Hemanth Yamijala (JIRA)

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

Hemanth Yamijala updated MAPREDUCE-1476:


  Resolution: Fixed
Hadoop Flags: [Reviewed]
  Status: Resolved  (was: Patch Available)

I just committed this to trunk. Thanks, Amareshwari !

> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Hemanth Yamijala (JIRA)

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

Hemanth Yamijala updated MAPREDUCE-1476:


Release Note: Fixed Map/Reduce framework to not call commit task for 
special tasks like job setup/cleanup and task cleanup.

> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (MAPREDUCE-1495) Reduce locking contention on JobTracker.getTaskCompletionEvents()

2010-02-15 Thread Rajesh Balamohan (JIRA)
Reduce locking contention on JobTracker.getTaskCompletionEvents()
-

 Key: MAPREDUCE-1495
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1495
 Project: Hadoop Map/Reduce
  Issue Type: Improvement
Affects Versions: 0.20.1
Reporter: Rajesh Balamohan


While profiling JT for slow performance with small-jobs, it was observed that 
JobTracker.getTaskCompletionEvents() is attributing to 40% of lock contention 
on JT.

This JIRA ticket is created to explore the possibilities of reducing the 
sychronized code block in this method. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (MAPREDUCE-1494) TestJobDirCleanup verifies wrong jobcache directory

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)
TestJobDirCleanup verifies wrong jobcache directory
---

 Key: MAPREDUCE-1494
 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1494
 Project: Hadoop Map/Reduce
  Issue Type: Bug
  Components: tasktracker, test
Reporter: Amareshwari Sriramadasu
Assignee: Amareshwari Sriramadasu
Priority: Minor
 Fix For: 0.22.0


TestJobDirCleanup verifies tasktracker/jobcache directory to be empty. But 
localization happens in tasktracker/user/jobcache after MAPREDUCE-856.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1414) TestRecoveryManager can spin waiting for a job to be half done

2010-02-15 Thread Steve Loughran (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833757#action_12833757
 ] 

Steve Loughran commented on MAPREDUCE-1414:
---

I disagree.  will timeout but it reacts by killing the process, creating 
an empy XML file. when the XSL transforms are applied to create HTML docs, 
 will mention the missing file and skip it. Your test HTML reports 
-which may be on some remote hudson server, after all- won't contain any 
information as to why your build failed, except you get emails saying "junit 
test run failed". 

Having the test recognise and handle a situation which at least one person (me) 
 has encountered would eliminate this, and I don't see why it should be 
rejected. The more robust your test harness is, the better.

>  TestRecoveryManager can spin waiting for a job to be half done
> ---
>
> Key: MAPREDUCE-1414
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1414
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>  Components: test
>Affects Versions: 0.22.0
>Reporter: Steve Loughran
>Assignee: Steve Loughran
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1414.patch
>
>
> This is something I've seen: the TestRecoveryManager spinning forever waiting 
> for a job to get half done. The test runner will eventually kill it, but that 
> loses any log and chance of finding the problem.
> Solution: have a timeout on how long you wait for the job

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1413) Improve logging of progress/errors in the job and task trackers

2010-02-15 Thread Steve Loughran (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833756#action_12833756
 ] 

Steve Loughran commented on MAPREDUCE-1413:
---

The log calls aren't logging the _whole_ exception twice
# The log message includes the toString() value of the exception, normally the 
value of getMessage(), though that can be changed. This message doesn't include 
the stack trace
# The second parameter passes in the raw exception chain with full stack trace. 
It is up to the log engine what it does with that; printing out the stack trace 
in text is one option, but I know of others (discard, save the fault as an 
XML-parseable). This is why log(text,Throwable) is the recommended way to log 
faults in all the main java log frameworks.
# Sometimes I've seen loggers not log the toString() value of the exception 
passed in as param #2, which is less than ideal if you are trying to track down 
a problem and all you have are the logs.
# Therefore, I do think what I've done is the best tactic to producing logs 
that are human and machine readable.
# Will check out the javadoc error and submit a patch that corrects that.

> Improve logging of progress/errors in the job and task trackers
> ---
>
> Key: MAPREDUCE-1413
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1413
> Project: Hadoop Map/Reduce
>  Issue Type: Improvement
>  Components: tasktracker
>Affects Versions: 0.22.0
>Reporter: Steve Loughran
>Assignee: Steve Loughran
>Priority: Minor
> Fix For: 0.22.0
>
> Attachments: MAPREDUCE-1413.patch
>
>
> I have code that improves the logging of the trackers as they start stop and 
> fail, through
> # More logging of events
> # including exception strings and stacks when things go wrong
> People's whose JTs and TTs aren't behaving may appreciate this

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833751#action_12833751
 ] 

Amareshwari Sriramadasu commented on MAPREDUCE-1476:


bq. -1 core tests.
TestCommandLineJobSubmission failed with NoClassDefFoundError. See 
MAPREDUCE-1275.
Stacktrace for the failure:
{noformat}
java.lang.NoClassDefFoundError: org/apache/hadoop/ipc/Server$Handler
at org.apache.hadoop.ipc.Server.start(Server.java:1343)
at 
org.apache.hadoop.hdfs.server.namenode.NameNode.activate(NameNode.java:318)
at 
org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:308)
at 
org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:421)
at 
org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:410)
at 
org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1261)
at org.apache.hadoop.hdfs.MiniDFSCluster.(MiniDFSCluster.java:278)
at org.apache.hadoop.hdfs.MiniDFSCluster.(MiniDFSCluster.java:127)
{noformat}

> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833750#action_12833750
 ] 

Hadoop QA commented on MAPREDUCE-1476:
--

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12435846/patch-1476-2.txt
  against trunk revision 909993.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

-1 core tests.  The patch failed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/454/testReport/
Findbugs warnings: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/454/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/454/artifact/trunk/build/test/checkstyle-errors.html
Console output: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h6.grid.sp2.yahoo.net/454/console

This message is automatically generated.

> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (MAPREDUCE-1476) committer.needsTaskCommit should not be called for a task cleanup attempt

2010-02-15 Thread Amareshwari Sriramadasu (JIRA)

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

Amareshwari Sriramadasu updated MAPREDUCE-1476:
---

Attachment: patch-1476-ydist.txt

Patch for Yahoo! distribution.
Ran ant test and test-patch. All tests passed except TestHdfsProxy.

> committer.needsTaskCommit should not be called for a task cleanup attempt
> -
>
> Key: MAPREDUCE-1476
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1476
> Project: Hadoop Map/Reduce
>  Issue Type: Bug
>Affects Versions: 0.20.1
>Reporter: Amareshwari Sriramadasu
>Assignee: Amareshwari Sriramadasu
> Fix For: 0.22.0
>
> Attachments: patch-1476-1.txt, patch-1476-2.txt, 
> patch-1476-ydist.txt, patch-1476.txt
>
>
> Currently, Task.done() calls committer.needsTaskCommit() to know whether it 
> needs a commit or not. This need not be called for task cleanup attempt as no 
> commit is required for a cleanup attempt. 
> Due to MAPREDUCE-1409, we saw a case where cleanup attempt went into 
> COMMIT_PENDING state.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1493) Authorization for job-history pages

2010-02-15 Thread Vinod K V (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833721#action_12833721
 ] 

Vinod K V commented on MAPREDUCE-1493:
--

For getting the ACLs for retired jobs, we actually have two options:
 - *Log the ACLs also into job-history itself* during job-submission and 
retrieve the same for access control.
-- This avoids reading job-conf file for every request of a job specific 
page.
-- Needs a change to JobHistory submisison event.
 - *Read the job-conf file on history also* to get the acls.
-- Introduces extra round trip to DFS
-- No change to JobHistory.

I think the former is better performance wise. Thoughts?

> Authorization for job-history pages
> ---
>
> Key: MAPREDUCE-1493
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1493
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: jobtracker, security
>Reporter: Vinod K V
> Fix For: 0.22.0
>
>
> MAPREDUCE-1455 introduces authorization for most of the Map/Reduce jsp pages 
> and servlets, but left history pages. This JIRA will make sure that 
> authorization checks are made while accessing job-history pages also.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (MAPREDUCE-1307) Introduce the concept of Job Permissions

2010-02-15 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833711#action_12833711
 ] 

Hadoop QA commented on MAPREDUCE-1307:
--

-1 overall.  Here are the results of testing the latest attachment 
  
http://issues.apache.org/jira/secure/attachment/12435845/MAPREDUCE-1307-20100215.txt
  against trunk revision 909993.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 8 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

-1 core tests.  The patch failed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h3.grid.sp2.yahoo.net/323/testReport/
Findbugs warnings: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h3.grid.sp2.yahoo.net/323/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h3.grid.sp2.yahoo.net/323/artifact/trunk/build/test/checkstyle-errors.html
Console output: 
http://hudson.zones.apache.org/hudson/job/Mapreduce-Patch-h3.grid.sp2.yahoo.net/323/console

This message is automatically generated.

> Introduce the concept of Job Permissions
> 
>
> Key: MAPREDUCE-1307
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1307
> Project: Hadoop Map/Reduce
>  Issue Type: Sub-task
>  Components: security
>Reporter: Devaraj Das
>Assignee: Vinod K V
> Fix For: 0.22.0
>
> Attachments: 1307-early-1.patch, MAPREDUCE-1307-20100210.txt, 
> MAPREDUCE-1307-20100211.txt, MAPREDUCE-1307-20100215.txt
>
>
> It would be good to define the notion of job permissions analogous to file 
> permissions. Then the JobTracker can restrict who can "read" (e.g. look at 
> the job page) or "modify" (e.g. kill) jobs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.