[ 
https://issues.apache.org/jira/browse/BEAM-5959?focusedWorklogId=176272&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-176272
 ]

ASF GitHub Bot logged work on BEAM-5959:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Dec/18 22:59
            Start Date: 17/Dec/18 22:59
    Worklog Time Spent: 10m 
      Work Description: lgajowy commented on a change in pull request #7266: 
[BEAM-5959] Add performance testing for writing many files
URL: https://github.com/apache/beam/pull/7266#discussion_r242349822
 
 

 ##########
 File path: 
sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java
 ##########
 @@ -758,7 +758,10 @@ final void moveToOutputFiles(
       }
       // During a failure case, files may have been deleted in an earlier 
step. Thus
       // we ignore missing files here.
+      long startTime = System.nanoTime();
       FileSystems.rename(srcFiles, dstFiles, 
StandardMoveOptions.IGNORE_MISSING_FILES);
+      long endTime = System.nanoTime();
+      LOG.info("Renamed {} files in {} seconds.", srcFiles.size(), (endTime - 
startTime) / 1e9);
 
 Review comment:
   Great investigation! Thanks! 
   
   > I'd rather write all results (incl. run_time) to BQ from TextIOIT and 
ignore Perfkit's reporting
   
   I fully agree with you. As I mentiond using Metrics API in IOITs is the 
think that I wanted to do either way it will be there even better if you do 
this in your test. :)  This should be easy to reuse code from test-utlils 
module that was used in LoadTest.java I mentioned above. More specifically I 
mean: 
   - `MetricsReader`: that will let you query metrics really easily
   - `BigQueryResultsPublisher`: that will let you publish them to BQ. 
   
   As for collecting run_time, I think you can simply use 
[TimeMonitor](https://github.com/apache/beam/blob/90ef4eb68abca0f904c6b3087aec14b11058b1b5/sdks/java/testing/load-tests/src/main/java/org/apache/beam/sdk/loadtests/metrics/TimeMonitor.java)
 class. It's in load-test module now but with your change it perfectly makes 
sense to move it to test-utils. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 176272)
    Time Spent: 7.5h  (was: 7h 20m)

> Add Cloud KMS support to GCS copies
> -----------------------------------
>
>                 Key: BEAM-5959
>                 URL: https://issues.apache.org/jira/browse/BEAM-5959
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-gcp, sdk-py-core
>            Reporter: Udi Meiri
>            Assignee: Udi Meiri
>            Priority: Major
>          Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> Beam SDK currently uses the CopyTo GCS API call, which doesn't support 
> copying objects that Customer Managed Encryption Keys (CMEK).
> CMEKs are managed in Cloud KMS.
> Items (for Java and Python SDKs):
> - Update clients to versions that support KMS keys.
> - Change copyTo API calls to use rewriteTo (Python - directly, Java - 
> possibly convert copyTo API call to use client library)
> - Add unit tests.
> - Add basic tests (DirectRunner and GCS buckets with CMEK).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to