mirror of
https://github.com/pgsty/minio.git
synced 2026-10-06 17:55:59 +03:00
fix(http): honor configured request header deadlines
Signed-off-by: Feng Ruohang <rh@vonng.com> (cherry picked from commit 0d48d32d7e038ae1ea5966f3d7e0cb86780a6311) Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
from pathlib import Path
|
||||
import os,subprocess,socket,tempfile,time,urllib.request,urllib.error,signal,json
|
||||
root=Path('/Users/vonng/tmp/silo-r8-01a0a5b9/capacity-probe');root.mkdir(exist_ok=True)
|
||||
with socket.socket() as reservation:
|
||||
reservation.bind(('127.0.0.1',0));port=reservation.getsockname()[1]
|
||||
env={k:v for k,v in os.environ.items() if not k.startswith(('MINIO_','MC_','SILO_'))}
|
||||
env.update(MINIO_ROOT_USER='silo',MINIO_ROOT_PASSWORD='silo1234',MINIO_BROWSER='off',MINIO_CI_CD='1',MC_HOST_silo=f'http://silo:silo1234@127.0.0.1:{port}/')
|
||||
url=f'http://127.0.0.1:{port}'
|
||||
with (root/'server.log').open('w') as log:
|
||||
proc=subprocess.Popen(['/Users/vonng/tmp/silo-r8-01a0a5b9/silo-v2','server',f'--address=127.0.0.1:{port}','--read-header-timeout=5s','--idle-timeout=5s',str(root/'data')],env=env,stdout=log,stderr=subprocess.STDOUT)
|
||||
try:
|
||||
for _ in range(100):
|
||||
try:
|
||||
with urllib.request.urlopen(url+'/minio/health/live',timeout=1):break
|
||||
except Exception:time.sleep(.1)
|
||||
cli=['/opt/homebrew/bin/mcli','--config-dir',str(root/'mcli')]
|
||||
for args in [['mb','silo/testbucket'],['anonymous','set','public','silo/testbucket']]:
|
||||
r=subprocess.run(cli+args,env=env,text=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT);assert r.returncode==0,r.stdout
|
||||
req=urllib.request.Request(url+'/testbucket/testobject',data=b'x'*30,method='PUT')
|
||||
try:
|
||||
with urllib.request.urlopen(req,timeout=10) as response:result={'status':response.status,'body':response.read().decode()}
|
||||
except urllib.error.HTTPError as error:result={'status':error.code,'body':error.read().decode()}
|
||||
print(json.dumps(result,indent=2))
|
||||
finally:
|
||||
proc.send_signal(signal.SIGTERM)
|
||||
try:proc.wait(timeout=10)
|
||||
except subprocess.TimeoutExpired:proc.kill();proc.wait()
|
||||
Reference in New Issue
Block a user