See
<https://ci-beam.apache.org/job/beam_LoadTests_Java_GBK_Dataflow_Streaming/1230/display/redirect?page=changes>
Changes:
[shaojwu] make identifier of Date&DateTime to be a public static field
[shaojwu] make identifier of Time to be a public static field
[noreply] RunInference Benchmarks UI (#23371)
[noreply] set upper bound on google-cloud-profiler (#23354)
[noreply] Add ISSUE#23071 to CHANGES.md (#23297)
[noreply] Pin objsize version to avoid regression in 0.6.0 (#23396)
------------------------------------------
[...truncated 107.60 KB...]
> Task :buildSrc:spotlessGroovyCheck UP-TO-DATE
> Task :buildSrc:spotlessGroovyGradle UP-TO-DATE
> Task :buildSrc:spotlessGroovyGradleCheck UP-TO-DATE
> Task :buildSrc:spotlessCheck UP-TO-DATE
> Task :buildSrc:pluginUnderTestMetadata UP-TO-DATE
> Task :buildSrc:compileTestJava NO-SOURCE
> Task :buildSrc:compileTestGroovy NO-SOURCE
> Task :buildSrc:processTestResources NO-SOURCE
> Task :buildSrc:testClasses UP-TO-DATE
> Task :buildSrc:test NO-SOURCE
> Task :buildSrc:validatePlugins UP-TO-DATE
> Task :buildSrc:check UP-TO-DATE
> Task :buildSrc:build UP-TO-DATE
> Task :runners:core-construction-java:createCheckerFrameworkManifest UP-TO-DATE
> Task :model:job-management:createCheckerFrameworkManifest UP-TO-DATE
> Task :model:fn-execution:createCheckerFrameworkManifest UP-TO-DATE
> Task :model:pipeline:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:fn-execution:createCheckerFrameworkManifest UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:createCheckerFrameworkManifest
> UP-TO-DATE
> Task :runners:core-java:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:core:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:fn-execution:processResources NO-SOURCE
> Task :runners:core-construction-java:processResources NO-SOURCE
> Task :model:fn-execution:extractProto UP-TO-DATE
> Task :model:job-management:extractProto UP-TO-DATE
> Task :runners:core-java:processResources NO-SOURCE
> Task :sdks:java:core:generateAvroProtocol NO-SOURCE
> Task :runners:java-fn-execution:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:core:generateAvroJava NO-SOURCE
> Task :sdks:java:harness:createCheckerFrameworkManifest UP-TO-DATE
> Task
> :sdks:java:extensions:google-cloud-platform-core:createCheckerFrameworkManifest
> UP-TO-DATE
> Task :runners:java-fn-execution:processResources NO-SOURCE
> Task :sdks:java:expansion-service:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:harness:processResources NO-SOURCE
> Task :sdks:java:expansion-service:processResources NO-SOURCE
> Task :sdks:java:extensions:google-cloud-platform-core:processResources
> NO-SOURCE
> Task :model:job-management:processResources UP-TO-DATE
> Task :sdks:java:extensions:arrow:createCheckerFrameworkManifest UP-TO-DATE
> Task :model:fn-execution:processResources UP-TO-DATE
> Task :sdks:java:io:google-cloud-platform:createCheckerFrameworkManifest
> UP-TO-DATE
> Task :sdks:java:io:kafka:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:extensions:protobuf:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:extensions:arrow:processResources NO-SOURCE
> Task :sdks:java:io:google-cloud-platform:processResources NO-SOURCE
> Task
> :runners:google-cloud-dataflow-java:****:legacy-****:createCheckerFrameworkManifest
> UP-TO-DATE
> Task :sdks:java:extensions:protobuf:extractProto UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:legacy-****:processResources
> NO-SOURCE
> Task :sdks:java:core:generateGrammarSource UP-TO-DATE
> Task :sdks:java:io:kafka:processResources NO-SOURCE
> Task :sdks:java:io:kinesis:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:extensions:protobuf:processResources NO-SOURCE
> Task
> :runners:google-cloud-dataflow-java:****:windmill:createCheckerFrameworkManifest
> UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:processResources UP-TO-DATE
> Task :sdks:java:io:synthetic:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:io:kinesis:processResources NO-SOURCE
> Task :sdks:java:testing:load-tests:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:io:synthetic:processResources NO-SOURCE
> Task :sdks:java:core:processResources UP-TO-DATE
> Task :sdks:java:testing:test-utils:createCheckerFrameworkManifest UP-TO-DATE
> Task :sdks:java:testing:load-tests:processResources NO-SOURCE
> Task :sdks:java:testing:test-utils:processResources NO-SOURCE
> Task :model:pipeline:extractIncludeProto UP-TO-DATE
> Task :model:pipeline:extractProto UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:extractIncludeProto
> UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:extractProto UP-TO-DATE
> Task :model:pipeline:generateProto UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:generateProto
> UP-TO-DATE
> Task :model:pipeline:compileJava UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:compileJava UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:processResources
> UP-TO-DATE
> Task :model:pipeline:processResources UP-TO-DATE
> Task :model:pipeline:classes UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:classes UP-TO-DATE
> Task :model:pipeline:jar UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:windmill:shadowJar UP-TO-DATE
> Task :model:job-management:extractIncludeProto UP-TO-DATE
> Task :model:pipeline:shadowJar UP-TO-DATE
> Task :model:fn-execution:extractIncludeProto UP-TO-DATE
> Task :model:job-management:generateProto UP-TO-DATE
> Task :model:fn-execution:generateProto UP-TO-DATE
> Task :model:job-management:compileJava UP-TO-DATE
> Task :model:fn-execution:compileJava UP-TO-DATE
> Task :model:fn-execution:classes UP-TO-DATE
> Task :model:job-management:classes UP-TO-DATE
> Task :model:job-management:shadowJar UP-TO-DATE
> Task :model:fn-execution:shadowJar UP-TO-DATE
> Task :sdks:java:core:compileJava UP-TO-DATE
> Task :sdks:java:core:classes UP-TO-DATE
> Task :sdks:java:core:shadowJar UP-TO-DATE
> Task :sdks:java:extensions:protobuf:extractIncludeProto UP-TO-DATE
> Task :sdks:java:extensions:protobuf:generateProto NO-SOURCE
> Task :sdks:java:extensions:arrow:compileJava UP-TO-DATE
> Task :sdks:java:extensions:arrow:classes UP-TO-DATE
> Task :sdks:java:io:synthetic:compileJava UP-TO-DATE
> Task :sdks:java:io:synthetic:classes UP-TO-DATE
> Task :sdks:java:extensions:arrow:jar UP-TO-DATE
> Task :sdks:java:fn-execution:compileJava UP-TO-DATE
> Task :sdks:java:fn-execution:classes UP-TO-DATE
> Task :sdks:java:fn-execution:jar UP-TO-DATE
> Task :sdks:java:io:synthetic:jar UP-TO-DATE
> Task :sdks:java:extensions:protobuf:compileJava UP-TO-DATE
> Task :sdks:java:extensions:protobuf:classes UP-TO-DATE
> Task :sdks:java:extensions:protobuf:jar UP-TO-DATE
> Task :sdks:java:io:kinesis:compileJava UP-TO-DATE
> Task :sdks:java:io:kinesis:classes UP-TO-DATE
> Task :runners:core-construction-java:compileJava UP-TO-DATE
> Task :runners:core-construction-java:classes UP-TO-DATE
> Task :sdks:java:testing:test-utils:compileJava UP-TO-DATE
> Task :sdks:java:testing:test-utils:classes UP-TO-DATE
> Task :sdks:java:io:kinesis:jar UP-TO-DATE
> Task :runners:core-construction-java:jar UP-TO-DATE
> Task :sdks:java:testing:test-utils:jar UP-TO-DATE
> Task :runners:core-java:compileJava UP-TO-DATE
> Task :runners:core-java:classes UP-TO-DATE
> Task :runners:core-java:jar UP-TO-DATE
> Task :sdks:java:extensions:google-cloud-platform-core:compileJava UP-TO-DATE
> Task :sdks:java:extensions:google-cloud-platform-core:classes UP-TO-DATE
> Task :sdks:java:extensions:google-cloud-platform-core:jar UP-TO-DATE
> Task :sdks:java:harness:compileJava UP-TO-DATE
> Task :sdks:java:harness:classes UP-TO-DATE
> Task :sdks:java:harness:jar UP-TO-DATE
> Task :runners:java-fn-execution:compileJava UP-TO-DATE
> Task :runners:java-fn-execution:classes UP-TO-DATE
> Task :runners:java-fn-execution:jar UP-TO-DATE
> Task :sdks:java:expansion-service:compileJava UP-TO-DATE
> Task :sdks:java:expansion-service:classes UP-TO-DATE
> Task :sdks:java:expansion-service:jar UP-TO-DATE
> Task :sdks:java:io:kafka:compileJava UP-TO-DATE
> Task :sdks:java:io:kafka:classes UP-TO-DATE
> Task :sdks:java:io:kafka:jar UP-TO-DATE
> Task :sdks:java:io:google-cloud-platform:compileJava UP-TO-DATE
> Task :sdks:java:io:google-cloud-platform:classes UP-TO-DATE
> Task :sdks:java:io:google-cloud-platform:jar UP-TO-DATE
> Task :sdks:java:testing:load-tests:compileJava UP-TO-DATE
> Task :sdks:java:testing:load-tests:classes UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:compileJava UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:classes UP-TO-DATE
> Task :sdks:java:testing:load-tests:jar UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:jar UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:legacy-****:compileJava
> UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:legacy-****:classes UP-TO-DATE
> Task :runners:google-cloud-dataflow-java:****:legacy-****:shadowJar UP-TO-DATE
> Task :sdks:java:testing:load-tests:run
Sep 28, 2022 12:40:03 PM org.apache.beam.runners.dataflow.DataflowRunner
validateSdkContainerImageOptions
WARNING: Prefer --sdkContainerImage over deprecated legacy option
--****HarnessContainerImage.
Sep 28, 2022 12:40:04 PM
org.apache.beam.runners.dataflow.options.DataflowPipelineOptions$StagingLocationFactory
create
INFO: No stagingLocation provided, falling back to gcpTempLocation
Sep 28, 2022 12:40:04 PM org.apache.beam.runners.dataflow.DataflowRunner
fromOptions
INFO: PipelineOptions.filesToStage was not specified. Defaulting to files from
the classpath: will stage 227 files. Enable logging at DEBUG level to see which
files will be staged.
Sep 28, 2022 12:40:05 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: Executing pipeline on the Dataflow Service, which will have billing
implications related to Google Compute Engine usage and other Google Cloud
Services.
Sep 28, 2022 12:40:07 PM org.apache.beam.runners.dataflow.util.PackageUtil
stageClasspathElements
INFO: Uploading 228 files from PipelineOptions.filesToStage to staging location
to prepare for execution.
Sep 28, 2022 12:40:08 PM
org.apache.beam.runners.dataflow.util.PackageUtil$PackageAttributes
forFileToStage
INFO: Staging custom dataflow-****.jar as
beam-runners-google-cloud-dataflow-java-legacy-****-2.43.0-SNAPSHOT-65h6NDLdMUuTa8JPdUXMmyvbY3CGzmxk0pdlt08tzWc.jar
Sep 28, 2022 12:40:08 PM org.apache.beam.runners.dataflow.util.PackageUtil
stageClasspathElements
INFO: Staging files complete: 228 files cached, 0 files newly uploaded in 0
seconds
Sep 28, 2022 12:40:08 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: Staging portable pipeline proto to
gs://temp-storage-for-perf-tests/loadtests/staging/
Sep 28, 2022 12:40:08 PM org.apache.beam.runners.dataflow.util.PackageUtil
tryStagePackage
INFO: Uploading <100320 bytes, hash
66216dc2ce20d7429da97f75ceb0b1cd91f0f5742355f170ef5e45dc6869c586> to
gs://temp-storage-for-perf-tests/loadtests/staging/pipeline-ZiFtws4g10KdqX91zrCxzZHw9XQjVfFw715F3GhpxYY.pb
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Read input/DataflowRunner.StreamingUnboundedRead.ReadWithIds as
step s1
Sep 28, 2022 12:40:10 PM
org.apache.beam.sdk.io.synthetic.SyntheticUnboundedSource split
INFO: Split into 20 bundles: [SyntheticUnboundedSource{startOffset=0,
endOffset=1000}, SyntheticUnboundedSource{startOffset=1000, endOffset=2000},
SyntheticUnboundedSource{startOffset=2000, endOffset=3000},
SyntheticUnboundedSource{startOffset=3000, endOffset=4000},
SyntheticUnboundedSource{startOffset=4000, endOffset=5000},
SyntheticUnboundedSource{startOffset=5000, endOffset=6000},
SyntheticUnboundedSource{startOffset=6000, endOffset=7000},
SyntheticUnboundedSource{startOffset=7000, endOffset=8000},
SyntheticUnboundedSource{startOffset=8000, endOffset=9000},
SyntheticUnboundedSource{startOffset=9000, endOffset=10000},
SyntheticUnboundedSource{startOffset=10000, endOffset=11000},
SyntheticUnboundedSource{startOffset=11000, endOffset=12000},
SyntheticUnboundedSource{startOffset=12000, endOffset=13000},
SyntheticUnboundedSource{startOffset=13000, endOffset=14000},
SyntheticUnboundedSource{startOffset=14000, endOffset=15000},
SyntheticUnboundedSource{startOffset=15000, endOffset=16000},
SyntheticUnboundedSource{startOffset=16000, endOffset=17000},
SyntheticUnboundedSource{startOffset=17000, endOffset=18000},
SyntheticUnboundedSource{startOffset=18000, endOffset=19000},
SyntheticUnboundedSource{startOffset=19000, endOffset=20000}]
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Read input/StripIds as step s2
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Collect start time metrics as step s3
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Total bytes monitor as step s4
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Window.Into()/Window.Assign as step s5
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Group by key (0) as step s6
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Ungroup and reiterate (0) as step s7
Sep 28, 2022 12:40:10 PM
org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep
INFO: Adding Collect end time metrics (0) as step s8
Sep 28, 2022 12:40:10 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: Dataflow SDK version: 2.43.0-SNAPSHOT
Sep 28, 2022 12:40:11 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: To access the Dataflow monitoring console, please navigate to
https://console.cloud.google.com/dataflow/jobs/us-central1/2022-09-28_05_40_10-17363806654221369412?project=apache-beam-testing
Sep 28, 2022 12:40:11 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: Submitted job: 2022-09-28_05_40_10-17363806654221369412
Sep 28, 2022 12:40:11 PM org.apache.beam.runners.dataflow.DataflowRunner run
INFO: To cancel the job using the 'gcloud' tool, run:
> gcloud dataflow jobs --project=apache-beam-testing cancel
> --region=us-central1 2022-09-28_05_40_10-17363806654221369412
Sep 28, 2022 12:40:14 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
WARNING: 2022-09-28T12:40:14.293Z: The workflow name is not a valid Cloud
Label. Labels applied to Cloud resources (such as GCE Instances) for monitoring
will be labeled with this modified job name:
load0tests0java0dataflow0streaming0gbk03-jenkins-092812400-kqng. For the best
monitoring experience, please name your job with a valid Cloud Label. For
details, see:
https://cloud.google.com/compute/docs/labeling-resources#restrictions
Sep 28, 2022 12:40:17 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
SEVERE: 2022-09-28T12:40:16.036Z: Staged package
beam-sdks-java-test-utils-2.43.0-SNAPSHOT-G4ztT2x4ttn8RXiseeaQgi_SPdHAB-ygsU0yDChvnrA.jar
at location
'gs://temp-storage-for-perf-tests/loadtests/staging/beam-sdks-java-test-utils-2.43.0-SNAPSHOT-G4ztT2x4ttn8RXiseeaQgi_SPdHAB-ygsU0yDChvnrA.jar'
is inaccessible.
Sep 28, 2022 12:40:19 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
SEVERE: 2022-09-28T12:40:17.473Z: Staged package
google-api-services-iamcredentials-v1-rev20210326-1.32.1-rzLlTs22sMZOFz3yEOfAB70ZZw2Gl99hr42n_k-f8-M.jar
at location
'gs://temp-storage-for-perf-tests/loadtests/staging/google-api-services-iamcredentials-v1-rev20210326-1.32.1-rzLlTs22sMZOFz3yEOfAB70ZZw2Gl99hr42n_k-f8-M.jar'
is inaccessible.
Sep 28, 2022 12:40:19 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
SEVERE: 2022-09-28T12:40:19.792Z: Staged package
jmh-core-1.34-kEOEdi0v_sqABaqbQyp4kaDmDIiL_Tb2Hfz6l8Oh0bM.jar at location
'gs://temp-storage-for-perf-tests/loadtests/staging/jmh-core-1.34-kEOEdi0v_sqABaqbQyp4kaDmDIiL_Tb2Hfz6l8Oh0bM.jar'
is inaccessible.
Sep 28, 2022 12:40:22 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
SEVERE: 2022-09-28T12:40:19.889Z: Staged package
jopt-simple-5.0.4-3ybMWPI19HfbB_dTulo6skPr5Xidn4ns9o3WLqmmbCg.jar at location
'gs://temp-storage-for-perf-tests/loadtests/staging/jopt-simple-5.0.4-3ybMWPI19HfbB_dTulo6skPr5Xidn4ns9o3WLqmmbCg.jar'
is inaccessible.
Sep 28, 2022 12:40:22 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
SEVERE: 2022-09-28T12:40:21.994Z: Workflow failed. Causes: One or more access
checks for temp location or staged files failed. Please refer to other error
messages for details. For more information on security and permissions, please
see https://cloud.google.com/dataflow/security-and-permissions.
Sep 28, 2022 12:40:22 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
INFO: 2022-09-28T12:40:22.023Z: Cleaning up.
Sep 28, 2022 12:40:22 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
INFO: 2022-09-28T12:40:22.086Z: Worker pool stopped.
Sep 28, 2022 12:40:24 PM
org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process
INFO: 2022-09-28T12:40:23.765Z: Your project already contains 100
Dataflow-created metric descriptors, so new user metrics of the form
custom.googleapis.com/* will not be created. However, all user metrics are also
available in the metric dataflow.googleapis.com/job/user_counter. If you rely
on the custom metrics, you can delete old / unused metric descriptors. See
https://developers.google.com/apis-explorer/#p/monitoring/v3/monitoring.projects.metricDescriptors.list
and
https://developers.google.com/apis-explorer/#p/monitoring/v3/monitoring.projects.metricDescriptors.delete
Sep 28, 2022 12:40:32 PM org.apache.beam.runners.dataflow.DataflowPipelineJob
logTerminalState
INFO: Job 2022-09-28_05_40_10-17363806654221369412 failed with status FAILED.
Sep 28, 2022 12:40:32 PM org.apache.beam.sdk.testutils.metrics.MetricsReader
getCounterMetric
SEVERE: Failed to get metric totalBytes.count, from namespace gbk
Load test results for test (ID): ffbf88b2-ac9a-4c88-9b75-3c0c6f5c8f39 and
timestamp: 2022-09-28T12:40:05.304000000Z:
Metric: Value:
dataflow_runtime_sec 0.0
dataflow_total_bytes_count -1.0
Exception in thread "main" java.lang.RuntimeException: Invalid job state:
FAILED.
at
org.apache.beam.sdk.loadtests.JobFailure.handleFailure(JobFailure.java:51)
at org.apache.beam.sdk.loadtests.LoadTest.run(LoadTest.java:139)
at
org.apache.beam.sdk.loadtests.GroupByKeyLoadTest.run(GroupByKeyLoadTest.java:57)
at
org.apache.beam.sdk.loadtests.GroupByKeyLoadTest.main(GroupByKeyLoadTest.java:131)
> Task :sdks:java:testing:load-tests:run FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sdks:java:testing:load-tests:run'.
> Process 'command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java'' finished with
> non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with
Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings
and determine if they come from your own scripts or plugins.
See
https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 34s
99 actionable tasks: 1 executed, 98 up-to-date
Publishing build scan...
https://gradle.com/s/ttsyr6wxunau2
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]