Skip to content

Commit 4e259cd

Browse files
committed
fixes for running benchmarks with no arguments
1 parent 1393ab0 commit 4e259cd

File tree

4 files changed

+44
-21
lines changed

4 files changed

+44
-21
lines changed

hail/python/hail/backend/backend.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,17 @@ def requires_lowering(self):
398398
def local_tmpdir(self) -> str:
399399
pass
400400

401+
@local_tmpdir.setter
402+
@abc.abstractmethod
403+
def local_tmpdir(self, dir: str) -> None:
404+
pass
405+
401406
@property
402407
@abc.abstractmethod
403408
def remote_tmpdir(self) -> str:
404409
pass
410+
411+
@remote_tmpdir.setter
412+
@abc.abstractmethod
413+
def remote_tmpdir(self, dir: str) -> None:
414+
pass

hail/python/hail/backend/py4j_backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ def local_tmpdir(self) -> str:
332332
return self._local_tmpdir
333333

334334
@local_tmpdir.setter
335-
def local_tmpdir(self, tmpdir) -> str:
335+
def local_tmpdir(self, tmpdir: str) -> None:
336336
self._local_tmpdir = tmpdir
337337
self._jbackend.pySetLocalTmp(tmpdir)
338338

@@ -341,6 +341,6 @@ def remote_tmpdir(self) -> str:
341341
return self._remote_tmpdir
342342

343343
@remote_tmpdir.setter
344-
def remote_tmpdir(self, tmpdir) -> str:
344+
def remote_tmpdir(self, tmpdir: str) -> None:
345345
self._remote_tmpdir = tmpdir
346346
self._jbackend.pySetRemoteTmp(tmpdir)

hail/python/hail/backend/service_backend.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
import warnings
66
from contextlib import AsyncExitStack
77
from dataclasses import dataclass
8-
from typing import Any, Awaitable, Dict, List, Mapping, Optional, Set, Tuple, TypeVar, Union
8+
from typing import Any, Awaitable, Dict, List, Mapping, NoReturn, Optional, Set, Tuple, TypeVar, Union
99

1010
import orjson
1111

1212
import hailtop.aiotools.fs as afs
13-
from hail.context import TemporaryDirectory, TemporaryFilename, revision, tmp_dir, version
13+
from hail.context import TemporaryDirectory, TemporaryFilename, revision, version
1414
from hail.experimental import read_expression, write_expression
1515
from hail.utils import FatalError
1616
from hailtop import yamlx
@@ -239,8 +239,7 @@ def __init__(
239239
self._batch_was_submitted: bool = False
240240
self.disable_progress_bar = disable_progress_bar
241241
self.batch_attributes = batch_attributes
242-
self.local_tmpdir = tmp_dir()
243-
self.remote_tmpdir = remote_tmpdir
242+
self._remote_tmpdir = remote_tmpdir
244243
self.flags: Dict[str, str] = {}
245244
self._registered_ir_function_names: Set[str] = set()
246245
self.driver_cores = driver_cores
@@ -520,3 +519,19 @@ def get_flags(self, *flags: str) -> Mapping[str, str]:
520519
@property
521520
def requires_lowering(self):
522521
return True
522+
523+
@property
524+
def local_tmpdir(self) -> NoReturn:
525+
raise AttributeError('local tmp folders are not supported on the batch backend')
526+
527+
@local_tmpdir.setter
528+
def local_tmpdir(self, tmpdir: str) -> NoReturn:
529+
raise AttributeError('local tmp folders are not supported on the batch backend')
530+
531+
@property
532+
def remote_tmpdir(self) -> str:
533+
return self._remote_tmpdir
534+
535+
@remote_tmpdir.setter
536+
def remote_tmpdir(self, tmpdir: str) -> None:
537+
self._remote_tmpdir = tmpdir

hail/python/hail/context.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ def create(
6767
log: str,
6868
quiet: bool,
6969
append: bool,
70-
tmpdir: str,
71-
local_tmpdir: str,
7270
default_reference: str,
7371
global_seed: Optional[int],
7472
backend: Backend,
@@ -77,25 +75,17 @@ def create(
7775
log=log,
7876
quiet=quiet,
7977
append=append,
80-
tmpdir=tmpdir,
81-
local_tmpdir=local_tmpdir,
8278
global_seed=global_seed,
8379
backend=backend,
8480
)
8581
hc.initialize_references(default_reference)
8682
return hc
8783

88-
@typecheck_method(
89-
log=str, quiet=bool, append=bool, tmpdir=str, local_tmpdir=str, global_seed=nullable(int), backend=Backend
90-
)
91-
def __init__(self, log, quiet, append, tmpdir, local_tmpdir, global_seed, backend):
84+
@typecheck_method(log=str, quiet=bool, append=bool, global_seed=nullable(int), backend=Backend)
85+
def __init__(self, log, quiet, append, global_seed, backend: Backend):
9286
assert not Env._hc
9387

9488
self._log = log
95-
96-
self._tmpdir = tmpdir
97-
self._local_tmpdir = local_tmpdir
98-
9989
self._backend = backend
10090

10191
self._warn_cols_order = True
@@ -138,6 +128,14 @@ def initialize_references(self, default_reference):
138128
else:
139129
self._default_ref = ReferenceGenome.read(default_reference)
140130

131+
@property
132+
def _tmpdir(self) -> str:
133+
return self._backend.remote_tmpdir
134+
135+
@property
136+
def _local_tmpdir(self) -> str:
137+
return self._backend.local_tmpdir
138+
141139
@property
142140
def default_reference(self) -> ReferenceGenome:
143141
assert self._default_ref is not None, '_default_ref should have been initialized in HailContext.create'
@@ -500,7 +498,7 @@ def init_spark(
500498
if not backend.fs.exists(tmpdir):
501499
backend.fs.mkdir(tmpdir)
502500

503-
HailContext.create(log, quiet, append, tmpdir, local_tmpdir, default_reference, global_seed, backend)
501+
HailContext.create(log, quiet, append, default_reference, global_seed, backend)
504502
if not quiet:
505503
connect_logger(backend._utils_package_object, 'localhost', 12888)
506504

@@ -571,7 +569,7 @@ async def init_batch(
571569
tmpdir = os.path.join(backend.remote_tmpdir, 'tmp/hail', secret_alnum_string())
572570
local_tmpdir = _get_local_tmpdir(local_tmpdir)
573571

574-
HailContext.create(log, quiet, append, tmpdir, local_tmpdir, default_reference, global_seed, backend)
572+
HailContext.create(log, quiet, append, default_reference, global_seed, backend)
575573

576574

577575
@typecheck(
@@ -623,7 +621,7 @@ def init_local(
623621
if not backend.fs.exists(tmpdir):
624622
backend.fs.mkdir(tmpdir)
625623

626-
HailContext.create(log, quiet, append, tmpdir, tmpdir, default_reference, global_seed, backend)
624+
HailContext.create(log, quiet, append, default_reference, global_seed, backend)
627625
if not quiet:
628626
connect_logger(backend._utils_package_object, 'localhost', 12888)
629627

0 commit comments

Comments
 (0)