{"push_id":1107186068,"size":13,"distinct_size":13,"ref":"refs/heads/displaydata-dataflow","head":"9cfa061639ca4fda03b51bb496c1bf73ae197237","before":"df8b28de636454d4b580898fa8870c0929a3cf8d","commits":[{"sha":"483a5a4ffebe668e1eda3dd5ac60434d24b48b42","author":{"email":"d28e9909363a9c1600e80ac000976ccd4e3d0121@google.com","name":"Thomas Groh"},"message":"Reuse DoFns in ParDoEvaluators\n\nThis allows the runner to avoid cloning DoFns for every input bundle.","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/483a5a4ffebe668e1eda3dd5ac60434d24b48b42"},{"sha":"7747599233aee96c8077c46db5ce093a856b6139","author":{"email":"d28e9909363a9c1600e80ac000976ccd4e3d0121@google.com","name":"Thomas Groh"},"message":"Use an AtomicReference in InProcessSideInputContainer\n\nThis fixes a TOCTOU race in the contents updating logic, where the\ndetermination that the current pane should replace the contents of the\nside input and the replacement is not a single atomic operation. Using\nAtomicReference allows the use of compareAndSet to ensure that the\nreplacement can only occur on the pane that the decision to replace was\nmade with.\n\nFixes a race where a pane could be the latest, and replace a\npane, but would be lost due to an earlier pane being written between the\ninvalidation and loading of contents.\n\nFixes a race where a reader can incorrectly read an empty iterable as\nthe contents of a PCollectionView, due to occuring between the\ninvalidate and reload steps.","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/7747599233aee96c8077c46db5ce093a856b6139"},{"sha":"09a1f6009671c16e328b822e1a57b5206aef9bfd","author":{"email":"a1559536771c19c1fd82195b5338c890b9c1c3e7@google.com","name":"Luke Cwik"},"message":"Verify one element per window for DataflowPipelineRunner View.asSingleton\n\nThis changes the expansion of the DataflowPipelineRunner override for\nView.asSingleton to provide a useful error message to users if there\nPCollection contains more than one element per window.","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/09a1f6009671c16e328b822e1a57b5206aef9bfd"},{"sha":"351fc3efa7227bbdbcda4f541f637750c92a12af","author":{"email":"a1559536771c19c1fd82195b5338c890b9c1c3e7@google.com","name":"Luke Cwik"},"message":"This closes #317","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/351fc3efa7227bbdbcda4f541f637750c92a12af"},{"sha":"be9b1580316595868918be76b360fefa02bc7f13","author":{"email":"0ddbec4b5c187190eb270b45cab9a5c5e5367b49@google.com","name":"Kenneth Knowles"},"message":"This closes #318","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/be9b1580316595868918be76b360fefa02bc7f13"},{"sha":"9a8688bc39c3887c16ad18db38c521f57ddc5a15","author":{"email":"0ddbec4b5c187190eb270b45cab9a5c5e5367b49@google.com","name":"Kenneth Knowles"},"message":"This closes #320","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/9a8688bc39c3887c16ad18db38c521f57ddc5a15"},{"sha":"e2aa5f778e8a71970f01f1010284775d5315f259","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add overload for DisplayDataMatchers.hasDisplayItem","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/e2aa5f778e8a71970f01f1010284775d5315f259"},{"sha":"be644861005046303966ffaa63e42a6bd8513a61","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Correct DisplayDataEvaluator behavior for primitives\n\nPreviously DisplayDataEvaluator would assume the input PTransform\nwas a composite and if so collect DisplayData for inner primitives.\nHowever it incorrectly discarding DisplayData when the input itself\nis a primitive. This fixes the tracking logic.","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/be644861005046303966ffaa63e42a6bd8513a61"},{"sha":"330c947e3227754caa9b36528af4ea578109cacb","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add pinning test to verify BigQueryIO display data","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/330c947e3227754caa9b36528af4ea578109cacb"},{"sha":"cfe8cb65cbe3a1754777b96b61703153941d4eec","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add pinning test for DatastoreIO display data","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/cfe8cb65cbe3a1754777b96b61703153941d4eec"},{"sha":"4aa1910cc25926fc598e8714f7f27262cf975214","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add pinning test for TextIO display data","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/4aa1910cc25926fc598e8714f7f27262cf975214"},{"sha":"b97795861dc651c7cce575e20cc5c42df2d204bd","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add pinning test for AvroIO display data","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/b97795861dc651c7cce575e20cc5c42df2d204bd"},{"sha":"9cfa061639ca4fda03b51bb496c1bf73ae197237","author":{"email":"590791183a51f65762cd2248e4b650d6c3990853@google.com","name":"Scott Wegner"},"message":"Add pinning test for PubsubIO display data","distinct":true,"url":"https://api.github.com/repos/swegner/incubator-beam/commits/9cfa061639ca4fda03b51bb496c1bf73ae197237"}]}