See
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/6029/display/redirect?page=changes>
Changes:
[github] Merge pull request #11259: Use attachValues in SQL
------------------------------------------
[...truncated 647.56 KB...]
copying apache_beam/typehints/typehints.py ->
apache-beam-2.21.0.dev0/apache_beam/typehints
copying apache_beam/typehints/typehints_test.py ->
apache-beam-2.21.0.dev0/apache_beam/typehints
copying apache_beam/typehints/typehints_test_py3.py ->
apache-beam-2.21.0.dev0/apache_beam/typehints
copying apache_beam/utils/__init__.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/annotations.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/annotations_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/counters.pxd ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/counters.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/counters_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/interactive_utils.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/plugin.py -> apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/processes.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/processes_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/profiler.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/proto_utils.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/retry.py -> apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/retry_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/subprocess_server.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/subprocess_server_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/thread_pool_executor.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/thread_pool_executor_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/timestamp.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/timestamp_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/urns.py -> apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/windowed_value.pxd ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/windowed_value.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
copying apache_beam/utils/windowed_value_test.py ->
apache-beam-2.21.0.dev0/apache_beam/utils
Writing apache-beam-2.21.0.dev0/setup.cfg
creating dist
Creating tar archive
removing 'apache-beam-2.21.0.dev0' (and everything under it)
SDK_LOCATION=$(find dist/apache-beam-*.tar.gz)
find dist/apache-beam-*.tar.gz
# Run ValidatesRunner tests on Google Cloud Dataflow service
echo ">>> RUNNING DATAFLOW RUNNER VALIDATESCONTAINER TEST"
>>> RUNNING DATAFLOW RUNNER VALIDATESCONTAINER TEST
python setup.py nosetests \
--attr ValidatesContainer \
--nologcapture \
--processes=1 \
--process-timeout=900 \
--with-xunitmp \
--xunitmp-file=$XUNIT_FILE \
--ignore-files '.*py3\d?\.py$' \
--test-pipeline-options=" \
--runner=TestDataflowRunner \
--project=$PROJECT \
--worker_harness_container_image=$CONTAINER:$TAG \
--staging_location=$GCS_LOCATION/staging-validatesrunner-test \
--temp_location=$GCS_LOCATION/temp-validatesrunner-test \
--output=$GCS_LOCATION/output \
--sdk_location=$SDK_LOCATION \
--num_workers=1"
setup.py:251: UserWarning: You are using Apache Beam with Python 2. New
releases of Apache Beam will soon support Python 3 only.
'You are using Apache Beam with Python 2. '
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/setuptools/dist.py>:476:
UserWarning: Normalizing '2.21.0.dev' to '2.21.0.dev0'
normalized_version,
running nosetests
running egg_info
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/gen_protos.py>:241:
UserWarning: Installing grpcio-tools is recommended for development.
warnings.warn('Installing grpcio-tools is recommended for development.')
INFO:gen_protos:Skipping proto regeneration: all files up to date
writing requirements to apache_beam.egg-info/requires.txt
writing apache_beam.egg-info/PKG-INFO
writing top-level names to apache_beam.egg-info/top_level.txt
writing dependency_links to apache_beam.egg-info/dependency_links.txt
writing entry points to apache_beam.egg-info/entry_points.txt
reading manifest file 'apache_beam.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README.md'
warning: no files found matching 'NOTICE'
warning: no files found matching 'LICENSE'
writing manifest file 'apache_beam.egg-info/SOURCES.txt'
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/__init__.py>:82:
UserWarning: You are using Apache Beam with Python 2. New releases of Apache
Beam will soon support Python 3 only.
'You are using Apache Beam with Python 2. '
WARNING:apache_beam.io.gcp.datastore.v1.datastoreio:Using deprecated Datastore
client.
This client will be removed in Beam 3.0 (next Beam major release).
Please migrate to apache_beam.io.gcp.datastore.v1new.datastoreio.
WARNING:root:python-snappy is not installed; some tests will be skipped.
WARNING:root:Tensorflow is not installed, so skipping some tests.
WARNING:apache_beam.runners.interactive.interactive_environment:Interactive
Beam requires Python 3.5.3+.
WARNING:apache_beam.runners.interactive.interactive_environment:Dependencies
required for Interactive Beam PCollection visualization are not available,
please use: `pip install apache-beam[interactive]` to install necessary
dependencies to enable all data visualization features.
WARNING:apache_beam.runners.interactive.interactive_environment:You cannot use
Interactive Beam features when you are not in an interactive environment such
as a Jupyter notebook or ipython terminal.
WARNING:root:Make sure that locally built Python SDK docker image has Python
2.7 interpreter.
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/transforms/trigger_test.py>:541:
YAMLLoadWarning: calling yaml.load_all() without Loader=... is deprecated, as
the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full
details.
for spec in yaml.load_all(open(transcript_filename)):
WARNING:apache_beam.options.pipeline_options:--region not set; will default to
us-central1. Future releases of Beam will require the user to set --region
explicitly, or else have a default set via the gcloud tool.
https://cloud.google.com/compute/docs/regions-zones
WARNING:apache_beam.options.pipeline_options:--region not set; will default to
us-central1. Future releases of Beam will require the user to set --region
explicitly, or else have a default set via the gcloud tool.
https://cloud.google.com/compute/docs/regions-zones
test_wordcount_fnapi_it (apache_beam.examples.wordcount_it_test.WordCountIT)
... ERROR
test_metrics_fnapi_it
(apache_beam.runners.dataflow.dataflow_exercise_metrics_pipeline_test.ExerciseMetricsPipelineTest)
... ERROR
======================================================================
ERROR: test_wordcount_fnapi_it
(apache_beam.examples.wordcount_it_test.WordCountIT)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/plugins/multiprocess.py",>
line 812, in run
test(orig)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 45, in __call__
return self.run(*arg, **kwarg)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 133, in run
self.runTest(result)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 151, in runTest
test(result)
File "/usr/lib/python2.7/unittest/case.py", line 393, in __call__
return self.run(*args, **kwds)
File "/usr/lib/python2.7/unittest/case.py", line 329, in run
testMethod()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/examples/wordcount_it_test.py",>
line 54, in test_wordcount_fnapi_it
self._run_wordcount_it(wordcount.run, experiment='beam_fn_api')
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/examples/wordcount_it_test.py",>
line 91, in _run_wordcount_it
save_main_session=False)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/examples/wordcount.py",>
line 121, in run
result = p.run()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/pipeline.py",>
line 498, in run
self._options).run(False)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/pipeline.py",>
line 511, in run
return self.runner.run_pipeline(self, self._options)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/test_dataflow_runner.py",>
line 75, in run_pipeline
self.result.cancel()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/dataflow_runner.py",>
line 1580, in cancel
return self.state
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/dataflow_runner.py",>
line 1518, in state
self._update_job()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/dataflow_runner.py",>
line 1471, in _update_job
self._job = self._runner.dataflow_client.get_job(self.job_id())
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/utils/retry.py",>
line 236, in wrapper
return fun(*args, **kwargs)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/internal/apiclient.py",>
line 795, in get_job
response = self._client.projects_locations_jobs.Get(request)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/internal/clients/dataflow/dataflow_v1b3_client.py",>
line 699, in Get
config, request, global_params=global_params)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/base_api.py",>
line 731, in _RunMethod
return self.ProcessHttpResponse(method_config, http_response, request)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/base_api.py",>
line 737, in ProcessHttpResponse
self.__ProcessHttpResponse(method_config, http_response, request))
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/base_api.py",>
line 620, in __ProcessHttpResponse
return self.__client.DeserializeMessage(response_type, content)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/base_api.py",>
line 446, in DeserializeMessage
message = encoding.JsonToMessage(response_type, data)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/encoding_helper.py",>
line 123, in JsonToMessage
return _ProtoJsonApiTools.Get().decode_message(message_type, message)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/encoding_helper.py",>
line 309, in decode_message
message_type, result)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/protorpclite/protojson.py",>
line 214, in decode_message
message = self.__decode_dictionary(message_type, dictionary)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/protorpclite/protojson.py",>
line 287, in __decode_dictionary
for item in value]
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/encoding_helper.py",>
line 331, in decode_field
field.message_type, json.dumps(value))
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/py/encoding_helper.py",>
line 309, in decode_message
message_type, result)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/protorpclite/protojson.py",>
line 214, in decode_message
message = self.__decode_dictionary(message_type, dictionary)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/apitools/base/protorpclite/protojson.py",>
line 291, in __decode_dictionary
if value == []:
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/plugins/multiprocess.py",>
line 276, in signalhandler
raise TimedOutException()
TimedOutException: 'test_wordcount_fnapi_it
(apache_beam.examples.wordcount_it_test.WordCountIT)'
======================================================================
ERROR: test_metrics_fnapi_it
(apache_beam.runners.dataflow.dataflow_exercise_metrics_pipeline_test.ExerciseMetricsPipelineTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/plugins/multiprocess.py",>
line 812, in run
test(orig)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 45, in __call__
return self.run(*arg, **kwarg)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 133, in run
self.runTest(result)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/case.py",>
line 151, in runTest
test(result)
File "/usr/lib/python2.7/unittest/case.py", line 393, in __call__
return self.run(*args, **kwds)
File "/usr/lib/python2.7/unittest/case.py", line 329, in run
testMethod()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/dataflow_exercise_metrics_pipeline_test.py",>
line 57, in test_metrics_fnapi_it
result = self.run_pipeline(experiment='beam_fn_api')
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/runners/dataflow/dataflow_exercise_metrics_pipeline_test.py",>
line 38, in run_pipeline
test_pipeline = TestPipeline(is_integration_test=True)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/testing/test_pipeline.py",>
line 107, in __init__
super(TestPipeline, self).__init__(runner, options)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/pipeline.py",>
line 196, in __init__
errors = PipelineOptionsValidator(self._options, runner).validate()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/options/pipeline_options_validator.py",>
line 121, in validate
errors.extend(self.options.view_as(cls).validate(self))
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/options/pipeline_options.py",>
line 642, in validate
self.view_as(GoogleCloudOptions).region = self._get_default_gcp_region()
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/options/pipeline_options.py",>
line 607, in _get_default_gcp_region
raw_output = processes.check_output(cmd, stderr=DEVNULL)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/apache_beam/utils/processes.py",>
line 91, in check_output
out = subprocess.check_output(*args, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 568, in check_output
output, unused_err = process.communicate()
File "/usr/lib/python2.7/subprocess.py", line 792, in communicate
stdout = _eintr_retry_call(self.stdout.read)
File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call
return func(*args)
File
"<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/container/venv/python/local/lib/python2.7/site-packages/nose/plugins/multiprocess.py",>
line 276, in signalhandler
raise TimedOutException()
TimedOutException: 'test_metrics_fnapi_it
(apache_beam.runners.dataflow.dataflow_exercise_metrics_pipeline_test.ExerciseMetricsPipelineTest)'
----------------------------------------------------------------------
XML: nosetests-beam_python2.7_sdk.xml
----------------------------------------------------------------------
XML:
<https://builds.apache.org/job/beam_PostCommit_Py_ValCont/ws/src/sdks/python/nosetests.xml>
----------------------------------------------------------------------
Ran 2 tests in 904.320s
FAILED (errors=2)
cleanup_container
Untagged:
us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk:20200405-042339
Untagged:
us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk@sha256:c7c27c61a9c30ee6f0eec0cf5fc90110df1fc4fee81d56e8fd6619d4e8531580
Deleted: sha256:5b4416522c9f16bb6002853ad544d4d95ee44f83e68cb67226844f6ee20d7289
Deleted: sha256:ee13a1186d3b37271edfcf117d34e427ee2e8865fe039faf4d1766c66ec9982b
Deleted: sha256:9b9a9346d14867ce7810e18dc3fb7a8779112ef34bb026cb59970877e9b4573d
Deleted: sha256:1a55d8fab791334a70f5922d366d85e097963ed12ecf968c7afb46e23b289e20
Deleted: sha256:6615ad1b86134ab3a4e1a1dc2d8dd01aff2906d60607b19e8207def604cbb78d
Deleted: sha256:d4054ce7d4a7ac40b7ab4bf1d4c54708debb1882e218558b44d2b2c4bca67b7c
Deleted: sha256:377d7c556dba439ea35fe93be666d13bb245a7eb4c6bba3dcc1b9692d84fa746
Deleted: sha256:eccb0ea0ee7749a71c0ed06415b770e5c27b1a563add5b438a76e0b4e25998d7
Deleted: sha256:927d74ef93d3f04f360c725f107c91c3a032c4f9a51f3298f8770eaff552c7bd
Deleted: sha256:5fada0a3fff949ea91b5623bf60da65bfbbc453e49ba7d5e4c66ba7c7a88888e
Deleted: sha256:3a0aef9889354fbe400ce0d21583a503826c2cd321aec73c91be6003d62de2b8
Deleted: sha256:5d4e0eaaae777c39903006da8d2a904f3b652e683019ea473439efcbb0378075
Deleted: sha256:9e34522103ff526a274971d448b8b9543e86782cbb7969040b2a0fe5c1e7a358
Deleted: sha256:b831327f20a5f17ebfba2b4f2ebbc88f6b91970033454ceea28cc930eeaef1c8
Deleted: sha256:e2d7797c23c46dcff48c3965be4a61af576a0a87b2c6edf19b9616a194b781e4
Deleted: sha256:a36da94b57d7608b6e021e44febd2bd28ba69f802530d301424f2d5e72769ee1
Deleted: sha256:59d37afc4bf18244cd0c0d69be7278e88173ed5c9981da015bcf1f52080120d1
Deleted: sha256:dfac6ec786a5a6848cb7148a5474a085cb1b2c430c982295a5d48594981d4b79
Deleted: sha256:5baa4349d2d59d50c6c2397e288d3eba83a8c81ba1b6fb253b3231bc8f9eb759
Deleted: sha256:45e1088c46f596567e6dfb021d7ac055b7007d78d40c6ab0a2ebd17db10f744b
Deleted: sha256:68ba56dfe9bbb1435fc9c0d8b0664072949357d451ad332bd64f0540bd23a14f
Deleted: sha256:9ffe8607c3de7b0ad488fbe51bc337469703d7aab776490ab318efd70f278bb4
Deleted: sha256:8c2aca06c0854587a22548a3db135093034bdee4661dbe24ba4c5d51cd7ca56a
Deleted: sha256:7fb471379d9231d4e86d8965d6ea924972438242011f1042feaac4287d27f596
Deleted: sha256:01f4edd6c98d0cc8cb4105d801b21e726c83067479a7cbb9201717ee844af0e5
Deleted: sha256:32464a363f6ac446750252146cbdf6b0d112352108b796006f81035f5dd74e17
Digests:
-
us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk@sha256:c7c27c61a9c30ee6f0eec0cf5fc90110df1fc4fee81d56e8fd6619d4e8531580
Associated tags:
- 20200405-042339
Tags:
- us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk:20200405-042339
Deleted
[us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk:20200405-042339].
Deleted
[us.gcr.io/apache-beam-testing/jenkins/beam_python2.7_sdk@sha256:c7c27c61a9c30ee6f0eec0cf5fc90110df1fc4fee81d56e8fd6619d4e8531580].
Removed the container
Build step 'Execute shell' marked build as failure
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]