Re: Patch release proposal
+1 to a targeted patch release. We did the same for the Go SDK a little while back. It would be good to see what's different for a different SDK. On Wed, Mar 27, 2024, 4:01 PM Robert Bradshaw via dev wrote: > Given the severity of the breakage, and the simplicity of the workaround, > I'm in favor of a patch release. I think we could do Python-only, which > would make the process even more lightweight. > > On Wed, Mar 27, 2024 at 3:48 PM Jeff Kinard wrote: > >> Hi all, >> >> Beam 2.55 was released with a bug that causes WriteToJson on Beam YAML to >> fail when using the Java variant. This also affects any user attempting to >> use the Xlang JsonWriteTransformProvider - >> https://github.com/apache/beam/blob/master/sdks/java/io/json/src/main/java/org/apache/beam/sdk/io/json/providers/JsonWriteTransformProvider.java >> >> This is due to a change to >> https://github.com/apache/beam/blob/master/sdks/java/io/json/build.gradle >> that removed >> a dependency on everit which also removed it from being packaged into the >> expansion service JAR: >> beam-sdks-java-extensions-sql-expansion-service-2.55.0.jar >> >> There is a temporary fix to disable the provider in Beam YAML: >> https://github.com/apache/beam/pull/30777 >> >> I think with the total loss of function, and a trivial fix, it is worth >> creating a patch release of Beam 2.55 to include this fix. >> >> - Jeff >> >>
Re: Patch release proposal
Given the severity of the breakage, and the simplicity of the workaround, I'm in favor of a patch release. I think we could do Python-only, which would make the process even more lightweight. On Wed, Mar 27, 2024 at 3:48 PM Jeff Kinard wrote: > Hi all, > > Beam 2.55 was released with a bug that causes WriteToJson on Beam YAML to > fail when using the Java variant. This also affects any user attempting to > use the Xlang JsonWriteTransformProvider - > https://github.com/apache/beam/blob/master/sdks/java/io/json/src/main/java/org/apache/beam/sdk/io/json/providers/JsonWriteTransformProvider.java > > This is due to a change to > https://github.com/apache/beam/blob/master/sdks/java/io/json/build.gradle > that removed > a dependency on everit which also removed it from being packaged into the > expansion service JAR: > beam-sdks-java-extensions-sql-expansion-service-2.55.0.jar > > There is a temporary fix to disable the provider in Beam YAML: > https://github.com/apache/beam/pull/30777 > > I think with the total loss of function, and a trivial fix, it is worth > creating a patch release of Beam 2.55 to include this fix. > > - Jeff > >
Patch release proposal
Hi all, Beam 2.55 was released with a bug that causes WriteToJson on Beam YAML to fail when using the Java variant. This also affects any user attempting to use the Xlang JsonWriteTransformProvider - https://github.com/apache/beam/blob/master/sdks/java/io/json/src/main/java/org/apache/beam/sdk/io/json/providers/JsonWriteTransformProvider.java This is due to a change to https://github.com/apache/beam/blob/master/sdks/java/io/json/build.gradle that removed a dependency on everit which also removed it from being packaged into the expansion service JAR: beam-sdks-java-extensions-sql-expansion-service-2.55.0.jar There is a temporary fix to disable the provider in Beam YAML: https://github.com/apache/beam/pull/30777 I think with the total loss of function, and a trivial fix, it is worth creating a patch release of Beam 2.55 to include this fix. - Jeff
Re: Supporting Dynamic Destinations in a portable context
On Wed, Mar 27, 2024 at 10:20 AM Reuven Lax wrote: > Can the prefix still be generated programmatically at graph creation time? > Yes. It's just a property of the transform passed by the user at configuration time. > On Wed, Mar 27, 2024 at 9:40 AM Robert Bradshaw > wrote: > >> On Wed, Mar 27, 2024 at 9:12 AM Reuven Lax wrote: >> >>> This does seem like the best compromise, though I think there will still >>> end up being performance issues. A common pattern I've seen is that there >>> is a long common prefix to the dynamic destination followed the dynamic >>> component. e.g. the destination might be >>> long/common/path/to/destination/files/. In this case, the >>> prefix is often much larger than messages themselves and is what gets >>> effectively encoded in the lambda. >>> >> >> The idea here is that the destination would be given as a format string, >> say, "long/common/path/to/destination/files/{dest_info.user}". Another way >> to put this is that we support (only) "lambdas" that are represented as >> string substitutions. (The fact that dest_info does not have to be part of >> the record, and can be the output of an arbitrary map if need be, makes >> this restriction not so bad.) >> >> As well as solving the performance issues, I think this is actually a >> pretty convenient and natural way for the user to name their destination >> (for the common usecase, even easier than providing a lambda), and has the >> benefit of being much more transparent than an arbitrary callable as well >> for introspection (for both machine and human that may look at the >> resulting pipeline). >> >> >>> I'm not entirely sure how to address this in a portable context. We >>> might simply have to accept the extra overhead when going cross language. >>> >>> Reuven >>> >>> On Wed, Mar 27, 2024 at 8:51 AM Robert Bradshaw via dev < >>> dev@beam.apache.org> wrote: >>> Thanks for putting this together, it will be a really useful feature to have. I am in favor of the string-pattern approaches. I think we need to support both the {record=..., dest_info=...} and the elide-fields approaches, as the former is nicer when one has a fixed representation for the output record (e.g. a proto or avro schema) and the flattened form for ease of use in more free-form contexts (e.g. when producing records from YAML and SQL). Also left some comments on the doc. On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev < dev@beam.apache.org> wrote: > Hey all, > > There have been some conversations lately about how best to enable > dynamic destinations in a portable context. Usually, this comes up for > cross-language transforms and more recently for Beam YAML. > > I've started a short doc outlining some routes we could take. The > purpose is to establish a good standard for supporting dynamic > destinations > with portability, one that can be applied to most use cases and IOs. > Please > take a look and add any thoughts! > > https://s.apache.org/portable-dynamic-destinations > > Best, > Ahmed >
Re: Supporting Dynamic Destinations in a portable context
Can the prefix still be generated programmatically at graph creation time? On Wed, Mar 27, 2024 at 9:40 AM Robert Bradshaw wrote: > On Wed, Mar 27, 2024 at 9:12 AM Reuven Lax wrote: > >> This does seem like the best compromise, though I think there will still >> end up being performance issues. A common pattern I've seen is that there >> is a long common prefix to the dynamic destination followed the dynamic >> component. e.g. the destination might be >> long/common/path/to/destination/files/. In this case, the >> prefix is often much larger than messages themselves and is what gets >> effectively encoded in the lambda. >> > > The idea here is that the destination would be given as a format string, > say, "long/common/path/to/destination/files/{dest_info.user}". Another way > to put this is that we support (only) "lambdas" that are represented as > string substitutions. (The fact that dest_info does not have to be part of > the record, and can be the output of an arbitrary map if need be, makes > this restriction not so bad.) > > As well as solving the performance issues, I think this is actually a > pretty convenient and natural way for the user to name their destination > (for the common usecase, even easier than providing a lambda), and has the > benefit of being much more transparent than an arbitrary callable as well > for introspection (for both machine and human that may look at the > resulting pipeline). > > >> I'm not entirely sure how to address this in a portable context. We might >> simply have to accept the extra overhead when going cross language. >> >> Reuven >> >> On Wed, Mar 27, 2024 at 8:51 AM Robert Bradshaw via dev < >> dev@beam.apache.org> wrote: >> >>> Thanks for putting this together, it will be a really useful feature to >>> have. >>> >>> I am in favor of the string-pattern approaches. I think we need to >>> support both the {record=..., dest_info=...} and the elide-fields >>> approaches, as the former is nicer when one has a fixed representation for >>> the output record (e.g. a proto or avro schema) and the flattened form for >>> ease of use in more free-form contexts (e.g. when producing records from >>> YAML and SQL). >>> >>> Also left some comments on the doc. >>> >>> >>> On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev < >>> dev@beam.apache.org> wrote: >>> Hey all, There have been some conversations lately about how best to enable dynamic destinations in a portable context. Usually, this comes up for cross-language transforms and more recently for Beam YAML. I've started a short doc outlining some routes we could take. The purpose is to establish a good standard for supporting dynamic destinations with portability, one that can be applied to most use cases and IOs. Please take a look and add any thoughts! https://s.apache.org/portable-dynamic-destinations Best, Ahmed >>>
Re: [PR] Add yaml docs to beam reference documentation website. [beam-site]
robertwb merged PR #662: URL: https://github.com/apache/beam-site/pull/662 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Add yaml docs to beam reference documentation website. [beam-site]
robertwb commented on PR #662: URL: https://github.com/apache/beam-site/pull/662#issuecomment-2023256794 Thanks. Yeah, this is mostly a question of placement. (The html generation has been reviewed in previous PRs.) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: Supporting Dynamic Destinations in a portable context
On Wed, Mar 27, 2024 at 9:12 AM Reuven Lax wrote: > This does seem like the best compromise, though I think there will still > end up being performance issues. A common pattern I've seen is that there > is a long common prefix to the dynamic destination followed the dynamic > component. e.g. the destination might be > long/common/path/to/destination/files/. In this case, the > prefix is often much larger than messages themselves and is what gets > effectively encoded in the lambda. > The idea here is that the destination would be given as a format string, say, "long/common/path/to/destination/files/{dest_info.user}". Another way to put this is that we support (only) "lambdas" that are represented as string substitutions. (The fact that dest_info does not have to be part of the record, and can be the output of an arbitrary map if need be, makes this restriction not so bad.) As well as solving the performance issues, I think this is actually a pretty convenient and natural way for the user to name their destination (for the common usecase, even easier than providing a lambda), and has the benefit of being much more transparent than an arbitrary callable as well for introspection (for both machine and human that may look at the resulting pipeline). > I'm not entirely sure how to address this in a portable context. We might > simply have to accept the extra overhead when going cross language. > > Reuven > > On Wed, Mar 27, 2024 at 8:51 AM Robert Bradshaw via dev < > dev@beam.apache.org> wrote: > >> Thanks for putting this together, it will be a really useful feature to >> have. >> >> I am in favor of the string-pattern approaches. I think we need to >> support both the {record=..., dest_info=...} and the elide-fields >> approaches, as the former is nicer when one has a fixed representation for >> the output record (e.g. a proto or avro schema) and the flattened form for >> ease of use in more free-form contexts (e.g. when producing records from >> YAML and SQL). >> >> Also left some comments on the doc. >> >> >> On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev < >> dev@beam.apache.org> wrote: >> >>> Hey all, >>> >>> There have been some conversations lately about how best to enable >>> dynamic destinations in a portable context. Usually, this comes up for >>> cross-language transforms and more recently for Beam YAML. >>> >>> I've started a short doc outlining some routes we could take. The >>> purpose is to establish a good standard for supporting dynamic destinations >>> with portability, one that can be applied to most use cases and IOs. Please >>> take a look and add any thoughts! >>> >>> https://s.apache.org/portable-dynamic-destinations >>> >>> Best, >>> Ahmed >>> >>
Re: Supporting Dynamic Destinations in a portable context
> This does seem like the best compromise, though I think there will still end up being performance issues. A common pattern I've seen is that there is a long common prefix to the dynamic destination followed the dynamic component. e.g. the destination might be long/common/path/to/destination/files/. In this case, the prefix is often much larger than messages themselves and is what gets effectively encoded in the lambda. The last option is meant to address this issue. The prefix is specified in the configuration instead of being present with each message. The "K" in KV will contain just the part(s) to be appended to the prefix (via string substitution). This way only the minimal/necessary destination information gets encoded with the message. On Wed, Mar 27, 2024 at 12:12 PM Reuven Lax via dev wrote: > This does seem like the best compromise, though I think there will still > end up being performance issues. A common pattern I've seen is that there > is a long common prefix to the dynamic destination followed the dynamic > component. e.g. the destination might be > long/common/path/to/destination/files/. In this case, the > prefix is often much larger than messages themselves and is what gets > effectively encoded in the lambda. > > I'm not entirely sure how to address this in a portable context. We might > simply have to accept the extra overhead when going cross language. > > Reuven > > On Wed, Mar 27, 2024 at 8:51 AM Robert Bradshaw via dev < > dev@beam.apache.org> wrote: > >> Thanks for putting this together, it will be a really useful feature to >> have. >> >> I am in favor of the string-pattern approaches. I think we need to >> support both the {record=..., dest_info=...} and the elide-fields >> approaches, as the former is nicer when one has a fixed representation for >> the output record (e.g. a proto or avro schema) and the flattened form for >> ease of use in more free-form contexts (e.g. when producing records from >> YAML and SQL). >> >> Also left some comments on the doc. >> >> >> On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev < >> dev@beam.apache.org> wrote: >> >>> Hey all, >>> >>> There have been some conversations lately about how best to enable >>> dynamic destinations in a portable context. Usually, this comes up for >>> cross-language transforms and more recently for Beam YAML. >>> >>> I've started a short doc outlining some routes we could take. The >>> purpose is to establish a good standard for supporting dynamic destinations >>> with portability, one that can be applied to most use cases and IOs. Please >>> take a look and add any thoughts! >>> >>> https://s.apache.org/portable-dynamic-destinations >>> >>> Best, >>> Ahmed >>> >>
Re: [PR] Add yaml docs to beam reference documentation website. [beam-site]
brucearctor commented on PR #662: URL: https://github.com/apache/beam-site/pull/662#issuecomment-2023233436 I am assuming since auto-generated, what is generated is what we want ... Didn't verify the `index.html` page. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] Add yaml docs to beam reference documentation website. [beam-site]
robertwb opened a new pull request, #662: URL: https://github.com/apache/beam-site/pull/662 This was generated with `python -m apache_beam.yaml.generate_yaml_docs`. (Adding this to the beam release process is at https://github.com/apache/beam/pull/30741.) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Add yaml docs to beam reference documentation website. [beam-site]
robertwb commented on PR #662: URL: https://github.com/apache/beam-site/pull/662#issuecomment-2023217884 R: @Abacn -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: Supporting Dynamic Destinations in a portable context
This does seem like the best compromise, though I think there will still end up being performance issues. A common pattern I've seen is that there is a long common prefix to the dynamic destination followed the dynamic component. e.g. the destination might be long/common/path/to/destination/files/. In this case, the prefix is often much larger than messages themselves and is what gets effectively encoded in the lambda. I'm not entirely sure how to address this in a portable context. We might simply have to accept the extra overhead when going cross language. Reuven On Wed, Mar 27, 2024 at 8:51 AM Robert Bradshaw via dev wrote: > Thanks for putting this together, it will be a really useful feature to > have. > > I am in favor of the string-pattern approaches. I think we need to support > both the {record=..., dest_info=...} and the elide-fields approaches, as > the former is nicer when one has a fixed representation for the > output record (e.g. a proto or avro schema) and the flattened form for ease > of use in more free-form contexts (e.g. when producing records from YAML > and SQL). > > Also left some comments on the doc. > > > On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev < > dev@beam.apache.org> wrote: > >> Hey all, >> >> There have been some conversations lately about how best to enable >> dynamic destinations in a portable context. Usually, this comes up for >> cross-language transforms and more recently for Beam YAML. >> >> I've started a short doc outlining some routes we could take. The purpose >> is to establish a good standard for supporting dynamic destinations with >> portability, one that can be applied to most use cases and IOs. Please take >> a look and add any thoughts! >> >> https://s.apache.org/portable-dynamic-destinations >> >> Best, >> Ahmed >> >
Re: Supporting Dynamic Destinations in a portable context
Thanks for putting this together, it will be a really useful feature to have. I am in favor of the string-pattern approaches. I think we need to support both the {record=..., dest_info=...} and the elide-fields approaches, as the former is nicer when one has a fixed representation for the output record (e.g. a proto or avro schema) and the flattened form for ease of use in more free-form contexts (e.g. when producing records from YAML and SQL). Also left some comments on the doc. On Wed, Mar 27, 2024 at 6:51 AM Ahmed Abualsaud via dev wrote: > Hey all, > > There have been some conversations lately about how best to enable dynamic > destinations in a portable context. Usually, this comes up for > cross-language transforms and more recently for Beam YAML. > > I've started a short doc outlining some routes we could take. The purpose > is to establish a good standard for supporting dynamic destinations with > portability, one that can be applied to most use cases and IOs. Please take > a look and add any thoughts! > > https://s.apache.org/portable-dynamic-destinations > > Best, > Ahmed >
Supporting Dynamic Destinations in a portable context
Hey all, There have been some conversations lately about how best to enable dynamic destinations in a portable context. Usually, this comes up for cross-language transforms and more recently for Beam YAML. I've started a short doc outlining some routes we could take. The purpose is to establish a good standard for supporting dynamic destinations with portability, one that can be applied to most use cases and IOs. Please take a look and add any thoughts! https://s.apache.org/portable-dynamic-destinations Best, Ahmed
Beam High Priority Issue Report (57)
This is your daily summary of Beam's current high priority issues that may need attention. See https://beam.apache.org/contribute/issue-priorities for the meaning and expectations around issue priorities. Unassigned P1 Issues: https://github.com/apache/beam/issues/30760 The PostCommit Python Arm job is flaky https://github.com/apache/beam/issues/30757 [Bug]: Beam Playground scio examples cannot run https://github.com/apache/beam/issues/30737 [Failing Test]: Playground PreCommit failing goLint https://github.com/apache/beam/issues/30644 The Inference Python Benchmarks Dataflow job is flaky https://github.com/apache/beam/issues/30612 The Playground CI Nightly job is flaky https://github.com/apache/beam/issues/30606 The PostCommit Java Nexmark Dataflow job is flaky https://github.com/apache/beam/issues/30530 The LoadTests Java GBK Smoke job is flaky https://github.com/apache/beam/issues/30529 The PostCommit Java Sickbay job is flaky https://github.com/apache/beam/issues/30527 The PostCommit Java IO Performance Tests job is flaky https://github.com/apache/beam/issues/30526 The PerformanceTests xlang KafkaIO Python job is flaky https://github.com/apache/beam/issues/30525 The PostCommit Python ValidatesContainer Dataflow With RC job is flaky https://github.com/apache/beam/issues/30521 The LoadTests Go Combine Flink Batch job is flaky https://github.com/apache/beam/issues/30520 The LoadTests Python Combine Flink Streaming job is flaky https://github.com/apache/beam/issues/30519 The PostCommit XVR GoUsingJava Dataflow job is flaky https://github.com/apache/beam/issues/30517 The PostCommit XVR Direct job is flaky https://github.com/apache/beam/issues/30513 The PostCommit Python job is flaky https://github.com/apache/beam/issues/30511 The LoadTests Python Smoke job is flaky https://github.com/apache/beam/issues/30507 The LoadTests Go GBK Flink Batch job is flaky https://github.com/apache/beam/issues/30506 The TypeScript Tests job is flaky https://github.com/apache/beam/issues/30505 The PostRelease Nightly Snapshot job is flaky https://github.com/apache/beam/issues/30504 The LoadTests Python Combine Dataflow Streaming job is flaky https://github.com/apache/beam/issues/30503 The PostCommit Java ValidatesRunner Flink Java11 job is flaky https://github.com/apache/beam/issues/30502 The LoadTests Go CoGBK Flink Batch job is flaky https://github.com/apache/beam/issues/30498 [Bug]: Beam Sql is ignoring aliases fields in some situations which causes to huge data loss https://github.com/apache/beam/issues/29971 [Bug]: FixedWindows not working for large Kafka topic https://github.com/apache/beam/issues/29926 [Bug]: FileIO: lack of timeouts may cause the pipeline to get stuck indefinitely https://github.com/apache/beam/issues/29902 [Bug]: Messages are not ACK on Pubsub starting Beam 2.52.0 on Flink Runner in detached mode https://github.com/apache/beam/issues/29099 [Bug]: FnAPI Java SDK Harness doesn't update user counters in OnTimer callback functions https://github.com/apache/beam/issues/28760 [Bug]: EFO Kinesis IO reader provided by apache beam does not pick the event time for watermarking https://github.com/apache/beam/issues/28383 [Failing Test]: org.apache.beam.runners.dataflow.worker.StreamingDataflowWorkerTest.testMaxThreadMetric https://github.com/apache/beam/issues/28326 Bug: apache_beam.io.gcp.pubsublite.ReadFromPubSubLite not working https://github.com/apache/beam/issues/27892 [Bug]: ignoreUnknownValues not working when using CreateDisposition.CREATE_IF_NEEDED https://github.com/apache/beam/issues/27616 [Bug]: Unable to use applyRowMutations() in bigquery IO apache beam java https://github.com/apache/beam/issues/27486 [Bug]: Read from datastore with inequality filters https://github.com/apache/beam/issues/27314 [Failing Test]: bigquery.StorageApiSinkCreateIfNeededIT.testCreateManyTables[1] https://github.com/apache/beam/issues/27238 [Bug]: Window trigger has lag when using Kafka and GroupByKey on Dataflow Runner https://github.com/apache/beam/issues/26911 [Bug]: UNNEST ARRAY with a nested ROW (described below) https://github.com/apache/beam/issues/26343 [Bug]: apache_beam.io.gcp.bigquery_read_it_test.ReadAllBQTests.test_read_queries is flaky https://github.com/apache/beam/issues/26329 [Bug]: BigQuerySourceBase does not propagate a Coder to AvroSource https://github.com/apache/beam/issues/26041 [Bug]: Unable to create exactly-once Flink pipeline with stream source and file sink https://github.com/apache/beam/issues/24776 [Bug]: Race condition in Python SDK Harness ProcessBundleProgress https://github.com/apache/beam/issues/24313 [Flaky]: apache_beam/runners/portability/portable_runner_test.py::PortableRunnerTestWithSubprocesses::test_pardo_state_with_custom_key_coder https://github.com/apache/beam/issues/23709 [Flake]: Spark batch flakes in ParDoLifecycleTest.testTeardownCalledAfterExceptionInProcessElement and
Community Over Code NA 2024 Travel Assistance Applications now open!
Hello to all users, contributors and Committers! [ You are receiving this email as a subscriber to one or more ASF project dev or user mailing lists and is not being sent to you directly. It is important that we reach all of our users and contributors/committers so that they may get a chance to benefit from this. We apologise in advance if this doesn't interest you but it is on topic for the mailing lists of the Apache Software Foundation; and it is important please that you do not mark this as spam in your email client. Thank You! ] The Travel Assistance Committee (TAC) are pleased to announce that travel assistance applications for Community over Code NA 2024 are now open! We will be supporting Community over Code NA, Denver Colorado in October 7th to the 10th 2024. TAC exists to help those that would like to attend Community over Code events, but are unable to do so for financial reasons. For more info on this years applications and qualifying criteria, please visit the TAC website at < https://tac.apache.org/ >. Applications are already open on https://tac-apply.apache.org/, so don't delay! The Apache Travel Assistance Committee will only be accepting applications from those people that are able to attend the full event. Important: Applications close on Monday 6th May, 2024. Applicants have until the the closing date above to submit their applications (which should contain as much supporting material as required to efficiently and accurately process their request), this will enable TAC to announce successful applications shortly afterwards. As usual, TAC expects to deal with a range of applications from a diverse range of backgrounds; therefore, we encourage (as always) anyone thinking about sending in an application to do so ASAP. For those that will need a Visa to enter the Country - we advise you apply now so that you have enough time in case of interview delays. So do not wait until you know if you have been accepted or not. We look forward to greeting many of you in Denver, Colorado , October 2024! Kind Regards, Gavin (On behalf of the Travel Assistance Committee)