Bug #8202
rgw: failure to copy objects with chinese names
0%
Description
From mailing list:
OS: CentOS 6.5 Version: Ceph 0.67.7 or 0.79 Hello, everyone! I have configured federated gateways for several. Now I can sync files from master zone to slave zone. However I found that files with English filename could be synced, but files with Chinese filename would not be synced. I compared the log between file with English filename and with Chinese filename in master zone's log. These two files are with name radosgw-agent.txt and radosgw-agent-????-233.txt . radosgw-agent.txt in master zone's log 2014-04-16 15:10:20.883445 7fd1635be700 1 ====== starting new request req=0x12ea120 ===== 2014-04-16 15:10:20.883501 7fd1635be700 2 req 199:0.000057::GET /ttt/rad%2Fradosgw-agent.txt::initializing 2014-04-16 15:10:20.883507 7fd1635be700 10 host=s3.ceph69.com rgw_dns_name=s3.ceph69.com 2014-04-16 15:10:20.883518 7fd1635be700 10 meta>> HTTP_X_AMZ_COPY_SOURCE 2014-04-16 15:10:20.883524 7fd1635be700 10 x>> x-amz-copy-source:ttt/rad/radosgw-agent.txt 2014-04-16 15:10:20.883560 7fd1635be700 10 s->object=rad/radosgw-agent.txt s->bucket=ttt 2014-04-16 15:10:20.883572 7fd1635be700 20 FCGI_ROLE=RESPONDER 2014-04-16 15:10:20.883573 7fd1635be700 20 SCRIPT_URL=/ttt/rad/radosgw-agent.txt 2014-04-16 15:10:20.883573 7fd1635be700 20 SCRIPT_URI=http://s3.ceph69.com/ttt/rad/radosgw-agent.txt 2014-04-16 15:10:20.883574 7fd1635be700 20 HTTP_AUTHORIZATION=AWS 18GNN0DH1900H0L1LEBY:T23G/DqMa8KeIfJuv95XVRS4Hes= 2014-04-16 15:10:20.883575 7fd1635be700 20 SERVER_PORT_SECURE=443 2014-04-16 15:10:20.883575 7fd1635be700 20 HTTP_HOST=s3.ceph69.com radosgw-agent-????-233.txt in master zone's log 2014-04-16 15:10:21.108608 7fd1739d8700 1 ====== starting new request req=0x126fe10 ===== 2014-04-16 15:10:21.108670 7fd1739d8700 2 req 200:0.000063::GET /ttt/rad%2Fradosgw-agent-%FFFFFFE6%FFFFFFB5%FFFFFF8B%FFFFFFE8%FFFFFFAF%FFFFFF95%FFFFFFE7%FFFFFF94%FFFFFFA8%FFFFFFE4%FFFFFFBE%FFFFFF8B-233.txt::initializing 2014-04-16 15:10:21.108677 7fd1739d8700 10 host=s3.ceph69.com rgw_dns_name=s3.ceph69.com 2014-04-16 15:10:21.108687 7fd1739d8700 10 meta>> HTTP_X_AMZ_COPY_SOURCE 2014-04-16 15:10:21.108693 7fd1739d8700 10 x>> x-amz-copy-source:ttt/rad/radosgw-agent-%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B-233.txt 2014-04-16 15:10:21.108714 7fd1739d8700 10 s->object=rad/radosgw-agent-????FE6????FB5????F8B????FE8????FAF????F95????FE7????F94????FA8????FE4????FBE????F8B-233.txt s->bucket=ttt 2014-04-16 15:10:21.108738 7fd1739d8700 2 req 200:0.000131::GET /ttt/rad%2Fradosgw-agent-%FFFFFFE6%FFFFFFB5%FFFFFF8B%FFFFFFE8%FFFFFFAF%FFFFFF95%FFFFFFE7%FFFFFF94%FFFFFFA8%FFFFFFE4%FFFFFFBE%FFFFFF8B-233.txt::http status=400 2014-04-16 15:10:21.108921 7fd1739d8700 1 ====== req done req=0x126fe10 http_status=400 ====== The difference between them is where I bold. radosgw-agent.txt in master zone's log 2014-04-16 15:10:20.883572 7fd1635be700 20 FCGI_ROLE=RESPONDER radosgw-agent-????-233.txt in master zone's log 2014-04-16 15:10:21.108738 7fd1739d8700 2 req 200:0.000131::GET /ttt/rad%2Fradosgw-agent-%FFFFFFE6%FFFFFFB5%FFFFFF8B%FFFFFFE8%FFFFFFAF%FFFFFF95%FFFFFFE7%FFFFFF94%FFFFFFA8%FFFFFFE4%FFFFFFBE%FFFFFF8B-233.txt::http status=400 Therefor I don't know whether it's ceph's error or fastcgi's error. I attach the test files. Anyone can test it. Another two files are the full log about the test files. Thanks!
Associated revisions
rgw: fix url escaping
Fixes: #8202
This fixes the radosgw side of issue #8202. Needed to cast value
to unsigned char, otherwise it'd get padded.
Backport: dumpling
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: fix url escaping
Fixes: #8202
This fixes the radosgw side of issue #8202. Needed to cast value
to unsigned char, otherwise it'd get padded.
Backport: dumpling
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bcf92c496aba0dfde432290fc2df5620a2767313)
rgw: fix url escaping
Fixes: #8202
This fixes the radosgw side of issue #8202. Needed to cast value
to unsigned char, otherwise it'd get padded.
Backport: dumpling
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bcf92c496aba0dfde432290fc2df5620a2767313)
History
#1 Updated by Ian Colle almost 10 years ago
- Status changed from New to In Progress
- Assignee set to Yehuda Sadeh
#2 Updated by Sage Weil almost 10 years ago
- Status changed from In Progress to Resolved