See <https://ci-beam.apache.org/job/beam_LoadTests_Java_GBK_Dataflow_V2_Streaming_Java17/280/display/redirect?page=changes>
Changes: [noreply] Bump org.nosphere.apache.rat from 0.7.0 to 0.8.0 (#23330) [ningkang0957] Upgraded Flink on Dataproc support from Interacitve Beam [noreply] GA Migration PreCommit and PostCommit Tables in CI.md (#23372) [noreply] Stack Trace Decoration for Beam Samza Runner (#23221) [noreply] [#22478]: Add read_time support to Google Firestore connector (#22966) [noreply] Changes CoGroupByKey typehint from List to Iterable (#22984) [noreply] Fix TextSource incorrect handling in channels that return short reads. [noreply] Add a tensorflow example to the run_inference_basic notebook (#23173) ------------------------------------------ [...truncated 412.13 KB...] > 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 :sdks:java:testing:load-tests:jar UP-TO-DATE > Task :runners:google-cloud-dataflow-java:compileJava UP-TO-DATE > Task :runners:google-cloud-dataflow-java:classes UP-TO-DATE > Task :runners:google-cloud-dataflow-java:jar UP-TO-DATE > Task :sdks:java:container:goBuild /home/jenkins/go/bin/go1.18.1 build -o ./build/target/linux_amd64/boot boot.go boot_test.go > Task :sdks:java:container:java17:copySdkHarnessLauncher Execution optimizations have been disabled for task ':sdks:java:container:java17:copySdkHarnessLauncher' to ensure correctness due to the following reasons: - Gradle detected a problem with the following location: '<https://ci-beam.apache.org/job/beam_LoadTests_Java_GBK_Dataflow_V2_Streaming_Java17/ws/src/sdks/java/container/build/target'.> Reason: Task ':sdks:java:container:java17:copySdkHarnessLauncher' uses this output of task ':sdks:java:container:downloadCloudProfilerAgent' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. - Gradle detected a problem with the following location: '<https://ci-beam.apache.org/job/beam_LoadTests_Java_GBK_Dataflow_V2_Streaming_Java17/ws/src/sdks/java/container/build/target'.> Reason: Task ':sdks:java:container:java17:copySdkHarnessLauncher' uses this output of task ':sdks:java:container:pullLicenses' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. > Task :sdks:java:container:java17:dockerPrepare > Task :sdks:java:container:java17:docker > Task :runners:google-cloud-dataflow-java:buildAndPushDockerJavaContainer WARNING: `gcloud docker` will not be supported for Docker client versions above 18.03. As an alternative, use `gcloud auth configure-docker` to configure `docker` to use `gcloud` as a credential helper, then use `docker` as you would for non-GCR registries, e.g. `docker pull gcr.io/project-id/my-image`. Add `--verbosity=error` to silence this warning: `gcloud docker --verbosity=error -- pull gcr.io/project-id/my-image`. See: https://cloud.google.com/container-registry/docs/support/deprecation-notices#gcloud-docker The push refers to repository [us.gcr.io/apache-beam-testing/java-postcommit-it/java] 7d2d336d29c8: Preparing d9be86efd1e6: Preparing a8e7867395af: Preparing 34441fa323fe: Preparing f7bcb3e8df9b: Preparing 86c85b6f1e5a: Preparing 8ebb0126a2dc: Preparing aa000de85fe0: Preparing 87b013f1c8a2: Preparing 24cbba5e9056: Preparing 2d321f48c915: Preparing ba7cbca9167e: Preparing fb50107dc9e1: Preparing 03c526a56f86: Preparing c4a952a44285: Preparing 3bc383470c05: Preparing e93827457889: Preparing 08fa02ce37eb: Preparing a037458de4e0: Preparing bafdbe68e4ae: Preparing a13c519c6361: Preparing 86c85b6f1e5a: Waiting 03c526a56f86: Waiting 8ebb0126a2dc: Waiting 87b013f1c8a2: Waiting e93827457889: Waiting c4a952a44285: Waiting aa000de85fe0: Waiting 08fa02ce37eb: Waiting bafdbe68e4ae: Waiting 3bc383470c05: Waiting 24cbba5e9056: Waiting a037458de4e0: Waiting a13c519c6361: Waiting 2d321f48c915: Waiting ba7cbca9167e: Waiting fb50107dc9e1: Waiting a8e7867395af: Pushed f7bcb3e8df9b: Pushed d9be86efd1e6: Pushed 7d2d336d29c8: Pushed 34441fa323fe: Pushed aa000de85fe0: Pushed 8ebb0126a2dc: Pushed 24cbba5e9056: Pushed 87b013f1c8a2: Pushed ba7cbca9167e: Pushed 2d321f48c915: Pushed 3bc383470c05: Layer already exists e93827457889: Layer already exists 08fa02ce37eb: Layer already exists a037458de4e0: Layer already exists bafdbe68e4ae: Layer already exists a13c519c6361: Layer already exists 03c526a56f86: Pushed c4a952a44285: Pushed 86c85b6f1e5a: Pushed fb50107dc9e1: Pushed 20220927151551: digest: sha256:a4e833c0bd1167ab3efad84caf321008a42ea3f80afd830797921fe9c2df9201 size: 4729 > Task :sdks:java:testing:load-tests:run Sep 27, 2022 3:18:00 PM org.apache.beam.runners.dataflow.options.DataflowPipelineOptions$StagingLocationFactory create INFO: No stagingLocation provided, falling back to gcpTempLocation Sep 27, 2022 3:18:01 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 27, 2022 3:18:02 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 27, 2022 3:18:04 PM org.apache.beam.runners.dataflow.util.PackageUtil stageClasspathElements INFO: Uploading 227 files from PipelineOptions.filesToStage to staging location to prepare for execution. Sep 27, 2022 3:18:05 PM org.apache.beam.runners.dataflow.util.PackageUtil stageClasspathElements INFO: Staging files complete: 227 files cached, 0 files newly uploaded in 0 seconds Sep 27, 2022 3:18:05 PM org.apache.beam.runners.dataflow.DataflowRunner run INFO: Staging portable pipeline proto to gs://temp-storage-for-perf-tests/loadtests/staging/ Sep 27, 2022 3:18:05 PM org.apache.beam.runners.dataflow.util.PackageUtil tryStagePackage INFO: Uploading <100110 bytes, hash 47875de7ded5ee1f933cde2bcc4feccffaa2d7921d507eb7104df95173b0e6ed> to gs://temp-storage-for-perf-tests/loadtests/staging/pipeline-R4dd597V7h-TPN4rzE_sz_qi15IdUH63EE35UXOw5u0.pb Sep 27, 2022 3:18:07 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Read input/DataflowRunner.StreamingUnboundedRead.ReadWithIds as step s1 Sep 27, 2022 3:18:07 PM org.apache.beam.sdk.io.synthetic.SyntheticUnboundedSource split INFO: Split into 20 bundles: [SyntheticUnboundedSource{startOffset=0, endOffset=1000000}, SyntheticUnboundedSource{startOffset=1000000, endOffset=2000000}, SyntheticUnboundedSource{startOffset=2000000, endOffset=3000000}, SyntheticUnboundedSource{startOffset=3000000, endOffset=4000000}, SyntheticUnboundedSource{startOffset=4000000, endOffset=5000000}, SyntheticUnboundedSource{startOffset=5000000, endOffset=6000000}, SyntheticUnboundedSource{startOffset=6000000, endOffset=7000000}, SyntheticUnboundedSource{startOffset=7000000, endOffset=8000000}, SyntheticUnboundedSource{startOffset=8000000, endOffset=9000000}, SyntheticUnboundedSource{startOffset=9000000, endOffset=10000000}, SyntheticUnboundedSource{startOffset=10000000, endOffset=11000000}, SyntheticUnboundedSource{startOffset=11000000, endOffset=12000000}, SyntheticUnboundedSource{startOffset=12000000, endOffset=13000000}, SyntheticUnboundedSource{startOffset=13000000, endOffset=14000000}, SyntheticUnboundedSource{startOffset=14000000, endOffset=15000000}, SyntheticUnboundedSource{startOffset=15000000, endOffset=16000000}, SyntheticUnboundedSource{startOffset=16000000, endOffset=17000000}, SyntheticUnboundedSource{startOffset=17000000, endOffset=18000000}, SyntheticUnboundedSource{startOffset=18000000, endOffset=19000000}, SyntheticUnboundedSource{startOffset=19000000, endOffset=20000000}] Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Read input/StripIds as step s2 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Collect start time metrics as step s3 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Total bytes monitor as step s4 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Window.Into()/Window.Assign as step s5 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Group by key (0) as step s6 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Ungroup and reiterate (0) as step s7 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowPipelineTranslator$Translator addStep INFO: Adding Collect end time metrics (0) as step s8 Sep 27, 2022 3:18:08 PM org.apache.beam.runners.dataflow.DataflowRunner run INFO: Dataflow SDK version: 2.43.0-SNAPSHOT Sep 27, 2022 3:18:10 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-27_08_18_08-13371146450138331496?project=apache-beam-testing Sep 27, 2022 3:18:10 PM org.apache.beam.runners.dataflow.DataflowRunner run INFO: Submitted job: 2022-09-27_08_18_08-13371146450138331496 Sep 27, 2022 3:18:10 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-27_08_18_08-13371146450138331496 Sep 27, 2022 3:18:19 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process WARNING: 2022-09-27T15:18:17.158Z: 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: load0tests0java170dataflow0v20streaming0gbk07-jenkins-0927-cv71. 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 27, 2022 3:18:24 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:24.565Z: Worker configuration: e2-standard-2 in us-central1-a. Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.088Z: Expanding SplittableParDo operations into optimizable parts. Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.138Z: Expanding CollectionToSingleton operations into optimizable parts. Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.222Z: Expanding CoGroupByKey operations into optimizable parts. Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.324Z: Expanding SplittableProcessKeyed operations into optimizable parts. Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.347Z: Expanding GroupByKey operations into streaming Read/Write steps Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.414Z: Lifting ValueCombiningMappingFns into MergeBucketsMappingFns Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.553Z: Fusing adjacent ParDo, Read, Write, and Flatten operations Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.586Z: Fusing consumer Read input/ParDo(OutputSingleSource)/ParMultiDo(OutputSingleSource) into Read input/Impulse Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.655Z: Fusing consumer Read-input-ParDo-UnboundedSourceAsSDFWrapper--ParMultiDo-UnboundedSourceAsSDFWrapper-/PairWithRestriction into Read input/ParDo(OutputSingleSource)/ParMultiDo(OutputSingleSource) Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.688Z: Fusing consumer Read-input-ParDo-UnboundedSourceAsSDFWrapper--ParMultiDo-UnboundedSourceAsSDFWrapper-/SplitWithSizing into Read-input-ParDo-UnboundedSourceAsSDFWrapper--ParMultiDo-UnboundedSourceAsSDFWrapper-/PairWithRestriction Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.719Z: Fusing consumer Read input/ParDo(StripIds)/ParMultiDo(StripIds) into Read-input-ParDo-UnboundedSourceAsSDFWrapper--ParMultiDo-UnboundedSourceAsSDFWrapper-/ProcessElementAndRestrictionWithSizing Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.767Z: Fusing consumer Collect start time metrics/ParMultiDo(TimeMonitor) into Read input/ParDo(StripIds)/ParMultiDo(StripIds) Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.810Z: Fusing consumer Total bytes monitor/ParMultiDo(ByteMonitor) into Collect start time metrics/ParMultiDo(TimeMonitor) Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.841Z: Fusing consumer Window.Into()/Window.Assign into Total bytes monitor/ParMultiDo(ByteMonitor) Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.881Z: Fusing consumer Group by key (0)/WriteStream into Window.Into()/Window.Assign Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.903Z: Fusing consumer Group by key (0)/MergeBuckets into Group by key (0)/ReadStream Sep 27, 2022 3:18:27 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.938Z: Fusing consumer Ungroup and reiterate (0)/ParMultiDo(UngroupAndReiterate) into Group by key (0)/MergeBuckets Sep 27, 2022 3:18:28 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:26.986Z: Fusing consumer Collect end time metrics (0)/ParMultiDo(TimeMonitor) into Ungroup and reiterate (0)/ParMultiDo(UngroupAndReiterate) Sep 27, 2022 3:18:28 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:27.134Z: Running job using Streaming Engine Sep 27, 2022 3:18:28 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:27.470Z: Starting 5 ****s in us-central1-a... Sep 27, 2022 3:18:28 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:18:28.562Z: 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 27, 2022 3:19:09 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:19:08.797Z: Autoscaling: Raised the number of ****s to 5 so that the pipeline can catch up with its backlog and keep up with its input rate. Sep 27, 2022 3:20:16 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:20:15.819Z: Workers have started successfully. Sep 27, 2022 3:25:53 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:25:52.332Z: Cleaning up. Sep 27, 2022 3:25:53 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:25:52.417Z: Stopping **** pool... Sep 27, 2022 3:25:53 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:25:52.495Z: Stopping **** pool... Sep 27, 2022 3:28:23 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:28:20.546Z: Autoscaling: Reduced the number of ****s to 0 based on low average **** CPU utilization, and the pipeline having sufficiently low backlog and keeping up with input rate. Sep 27, 2022 3:28:23 PM org.apache.beam.runners.dataflow.util.MonitoringUtil$LoggingHandler process INFO: 2022-09-27T15:28:20.606Z: Worker pool stopped. Sep 27, 2022 3:28:27 PM org.apache.beam.runners.dataflow.DataflowPipelineJob logTerminalState INFO: Job 2022-09-27_08_18_08-13371146450138331496 finished with status DONE. Load test results for test (ID): 0e5ed7b7-ffcb-4c75-a2ae-5ff6bd1f80b6 and timestamp: 2022-09-27T15:18:01.801000000Z: Metric: Value: dataflow_v2_java17_runtime_sec 249.402 dataflow_v2_java17_total_bytes_count 1.999998E9 > Task :runners:google-cloud-dataflow-java:cleanUpDockerJavaImages Untagged: us.gcr.io/apache-beam-testing/java-postcommit-it/java:20220927151551 Untagged: us.gcr.io/apache-beam-testing/java-postcommit-it/java@sha256:a4e833c0bd1167ab3efad84caf321008a42ea3f80afd830797921fe9c2df9201 Tag: [us.gcr.io/apache-beam-testing/java-postcommit-it/java:20220927151551] - referencing digest: [us.gcr.io/apache-beam-testing/java-postcommit-it/java@sha256:a4e833c0bd1167ab3efad84caf321008a42ea3f80afd830797921fe9c2df9201] Deleted [[us.gcr.io/apache-beam-testing/java-postcommit-it/java:20220927151551] (referencing [us.gcr.io/apache-beam-testing/java-postcommit-it/java@sha256:a4e833c0bd1167ab3efad84caf321008a42ea3f80afd830797921fe9c2df9201])]. Removing untagged image us.gcr.io/apache-beam-testing/java-postcommit-it/java@sha256:8e8f7542db47ab49e9b5220df751612e04e72679e850b3b0a92a8b03bbbdb0da Digests: - us.gcr.io/apache-beam-testing/java-postcommit-it/java@sha256:8e8f7542db47ab49e9b5220df751612e04e72679e850b3b0a92a8b03bbbdb0da ERROR: (gcloud.container.images.delete) Not found: response: {'docker-distribution-api-version': 'registry/2.0', 'content-type': 'application/json', 'date': 'Tue, 27 Sep 2022 15:28:34 GMT', 'server': 'Docker Registry', 'cache-control': 'private', 'x-xss-protection': '0', 'x-frame-options': 'SAMEORIGIN', 'transfer-encoding': 'chunked', 'status': '404', 'content-length': '168', '-content-encoding': 'gzip'} Failed to compute blob liveness for manifest: 'sha256:8e8f7542db47ab49e9b5220df751612e04e72679e850b3b0a92a8b03bbbdb0da': None > Task :runners:google-cloud-dataflow-java:cleanUpDockerJavaImages FAILED FAILURE: Build failed with an exception. * Where: Build file '<https://ci-beam.apache.org/job/beam_LoadTests_Java_GBK_Dataflow_V2_Streaming_Java17/ws/src/runners/google-cloud-dataflow-java/build.gradle'> line: 302 * What went wrong: Execution failed for task ':runners:google-cloud-dataflow-java:cleanUpDockerJavaImages'. > Process 'command './scripts/cleanup_untagged_gcr_images.sh'' 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 Execution optimizations have been disabled for 1 invalid unit(s) of work during this build to ensure correctness. Please consult deprecation warnings for more details. BUILD FAILED in 12m 45s 105 actionable tasks: 8 executed, 97 up-to-date Publishing build scan... https://gradle.com/s/go4c3urk3knqo 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]
