You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2015/09/28 21:15:04 UTC

[jira] [Commented] (HADOOP-12079) Make 'X-Newest' header a configurable

    [ https://issues.apache.org/jira/browse/HADOOP-12079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14933829#comment-14933829 ] 

Hadoop QA commented on HADOOP-12079:
------------------------------------

\\
\\
| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | pre-patch |  19m 58s | Pre-patch trunk compilation is healthy. |
| {color:green}+1{color} | @author |   0m  0s | The patch does not contain any @author tags. |
| {color:green}+1{color} | tests included |   0m  0s | The patch appears to include 1 new or modified test files. |
| {color:green}+1{color} | javac |   8m 16s | There were no new javac warning messages. |
| {color:green}+1{color} | javadoc |  10m 18s | There were no new javadoc warning messages. |
| {color:green}+1{color} | release audit |   0m 24s | The applied patch does not increase the total number of release audit warnings. |
| {color:green}+1{color} | site |   3m  3s | Site still builds. |
| {color:green}+1{color} | checkstyle |   0m 20s | There were no new checkstyle issues. |
| {color:green}+1{color} | whitespace |   0m  0s | The patch has no lines that end in whitespace. |
| {color:green}+1{color} | install |   1m 33s | mvn install still works. |
| {color:green}+1{color} | eclipse:eclipse |   0m 35s | The patch built with eclipse:eclipse. |
| {color:green}+1{color} | findbugs |   0m 49s | The patch does not introduce any new Findbugs (version 3.0.0) warnings. |
| {color:green}+1{color} | tools/hadoop tests |   0m 14s | Tests passed in hadoop-openstack. |
| | |  45m 37s | |
\\
\\
|| Subsystem || Report/Notes ||
| Patch URL | http://issues.apache.org/jira/secure/attachment/12739034/x-newest-optional0005.patch |
| Optional Tests | javadoc javac unit findbugs checkstyle site |
| git revision | trunk / fb2e525 |
| hadoop-openstack test log | https://builds.apache.org/job/PreCommit-HADOOP-Build/7718/artifact/patchprocess/testrun_hadoop-openstack.txt |
| Test Results | https://builds.apache.org/job/PreCommit-HADOOP-Build/7718/testReport/ |
| Java | 1.7.0_55 |
| uname | Linux asf905.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
| Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/7718/console |


This message was automatically generated.

> Make 'X-Newest' header a configurable
> -------------------------------------
>
>                 Key: HADOOP-12079
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12079
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs/swift
>    Affects Versions: 2.6.0, 3.0.0
>            Reporter: Gil Vernik
>            Assignee: Gil Vernik
>         Attachments: x-newest-optional0001.patch, x-newest-optional0002.patch, x-newest-optional0003.patch, x-newest-optional0004.patch, x-newest-optional0005.patch
>
>
> Current code always sends X-Newest header to Swift. While it's true that Swift is eventual consistent and X-Newest will always get the newest version from Swift, in practice this header will make Swift response very slow. 
> This header should be configured as an optional, so that it will be possible to access Swift without this header and get much better performance. 
> This patch doesn't modify current behavior. All is working as is, but there is an option to provide fs.swift.service.useXNewest = false. 
> Some background on Swift and X-Newest: 
> When a GET or HEAD request is made to an object, the default behavior is to get the data from one of the replicas (could be any of them). The downside to this is that if there are older versions of the object (due to eventual consistency) it is possible to get an older version of the object. The upside is that the for the majority of use cases, this isn't an issue. For the small subset of use cases that need to make sure that they get the latest version of the object, they can set the "X-Newest" header to "True". If this is set, the proxy server will check all replicas of the object and only return the newest object. The downside to this is that the request can take longer, since it has to contact all the replicas. It is also more expensive for the backend, so only recommended when it is absolutely needed.



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