ValidatingResponse File /data/app/oracle/etc/db_install.rsp
WARNING: Unable to find the namespace URI. Reason: Start of root element expected.
INFO: Setting Response file data to the Installer
WARNING: Unable to find the namespace URI. Reason: Start of root element expected.
Your pipeline might throw exceptions while processing data. Some of these errorsare transient, for example when temporary difficulty accessing an externalservice occurs. Some of these errors are permanent, such as errors caused bycorrupt or unparseable input data, or null pointers during computation.
Dataflow processes elements in arbitrary bundles and retries thecomplete bundle when an error is thrown for any element in that bundle. Whenrunning in batch mode, bundles including a failing item are retried four times.The pipeline fails completely when a single bundle fails four times. Whenrunning in streaming mode, a bundle including a failing item is retriedindefinitely, which might cause your pipeline to permanently stall.
Exceptions in user code, for example, your DoFn instances, arereported in theDataflow monitoring interface.If you run your pipeline with BlockingDataflowPipelineRunner, you also seeerror messages printed in your console or terminal window.
Consider guarding against errors in your code by adding exception handlers. Forexample, if you want to drop elements that fail some custom input validationdone in a ParDo, use a try/catch block within your ParDo to handle theexception and log and drop the element. For production workloads, implement anunprocessed message pattern. To track the error count, you useaggregation transforms.
This issue can occur when your Dataflow job uses theat-least-once pipeline streaming mode. This mode guarantees that records areprocessed at least once. However, duplicate records are possible in this mode.
Bad request warnings occur if worker state information is stale or out of syncdue to processing delays. Often, your Dataflow job succeedsdespite the bad request warnings. If that is the case, ignore the warnings.
This error occurs when the source and destination are in different regions. Itcan also occur when the staging location and destination are in differentregions. For example, if the job reads from Pub/Sub and then writes to aCloud Storage temp bucket before writing to a BigQuery table, theCloud Storage temp bucket and the BigQuery table must be in thesame region.
Multi-region locations are considered different than single-region locations,even if the single region falls within the scope of the multi-region location.For example, us (multiple regions in the United States) and us-central1 aredifferent regions.
To resolve this issue, have your destination, source, and staging locations inthe same region. Cloud Storage bucket locations can't be changed, so youmight need to create a new Cloud Storage bucket in the correct region.
These errors typically occur when some of your running Dataflow jobsuse the same temp_location to stage temporary job files created when thepipeline runs. When multiple concurrent jobs share the same temp_location,these jobs might step on the temporary data of each other, and a race condition mightoccur. To avoid this issue, it's recommended that you use a unique temp_locationfor each job.
When a Dataflow pipeline pulls data from Pub/Sub,Dataflow needs to repeatedly request information fromPub/Sub. This information includes the amount of backlog on the subscription and theage of the oldest unacknowledged message. Occasionally,Dataflow is unable to retrieve this information fromPub/Sub because of internal system issues, which may cause a transientaccumulation of backlog.
The Virtual Private Cloud (VPC) network used for your job might be missing afirewall rule. The firewall rule needs to enableall TCP traffic among VMs in the VPC network youspecified in your pipeline options. For more information, seeFirewall rules for Dataflow.
In some cases, the workers aren't able to communicate with each other.When you run a Dataflow job that doesn't useDataflow Shuffle or Streaming Engine,workers need to communicate with each other using TCP ports 12345 and 12346within the VPC network.In this scenario, the error includes the worker harness name and the TCP portthat's blocked. The error looks like one of the following examples:
The Apache Beam SDKs and the Dataflow workers depend on commonthird-party components. These components import additional dependencies. Versioncollisions can result in unexpected behavior in the service. Also, some librariesaren't forward-compatible. You might need to pin to the listed versions that arein scope during execution.SDK and Worker Dependenciescontains a list of dependencies and their required versions.
To resolve this issue, disable VM Managerpolicies that apply to the entire project. If disabling VM Managerpolicies for the entire project isn't possible, you can safely ignore this errorand filter it out of log monitoring tools.
To resolve the issue, you can either wait or create thesame resource in another zone. As a best practice, we recommend that youdistribute your resources acrossmultiple zones and regionsto tolerate outages.
This error occurs because when you use the Pub/Sub Java or C#client library and a dead-letter topic for a subscription is enabled, the deliveryattempts are in the googclient_deliveryattempt message attribute instead ofthe delivery_attempt field. For more information, seeTrack delivery attemptsin the "Handle message failures" page.
These errors occur if your data contains a hot key. A hot key is a key withenough elements to negatively affect pipeline performance. These keys limitthe ability of Dataflow to process elements in parallel, whichincreases execution time.
This error occurs when messages written to a dead-letter queue exceed the sizelimit of 7168 K.As a workaround, enableStreaming Engine,which has a higher size limit.To enable Streaming Engine, use the followingpipeline option.
This command writes a JSON representation of your job to a file. The size of theserialized file is a good estimate of the size of the request. The actual sizeis slightly larger due to some additional information included the request.
These errors occur if the pipeline couldn't be started due toCompute Engine metadata limits being exceeded. These limits can't be changed.Dataflow uses Compute Engine metadata for pipeline options. Thelimit is documented in the Compute Engine custom metadatalimitations.
The size of the output file from this command must be less than 256 KB.The 512 KB in the error message refers to the total size of theoutput file and the custom metadata options for the Compute Engine VM instance.
You can get a rough estimate of the custom metadata option for VM instance fromrunning Dataflow jobs in the project. Choose any runningDataflow job. Take a VM instance, and then navigate to theCompute Engine VM instance details page for that VM to check for the custommetadata section. The total length of the custom metadata and the file should beless than 512 KB. An accurate estimate for the failed job is not possible,because the VMs are not spun up for failed jobs.
If your JAR list is hitting the 256-KB limit, review it and reduce anyunnecessary JAR files. If it's still too large, try running theDataflow job by using an uber JAR. For an example thatdemonstrates how to create and use uber JAR, seeBuild and deploy an Uber JAR.
This error might occur if you're reading from a very large number of files by usingTextIO, AvroIO, BigQueryIO through EXPORT, or some other file-basedsource. The particular limit depends on the details of your source, but itis on the order of tens of thousands of files in one pipeline. For example,embedding schema in AvroIO.Read allows fewer files.
This error might also occur if you created a custom data source for yourpipeline and the splitIntoBundles method of your source returned a list ofBoundedSource objects which takes up more than 20 MB when serialized.
Modify your custom BoundedSource subclass so that the total size of thegenerated BoundedSource objects is smaller han the 20-MB limit. Forexample, your source might generate fewer splits initially, and rely onDynamic Work Rebalancing tofurther split inputs on demand.
To resolve this issue, use one of the following methods. If your DoFns aredefined in the main file and reference imports and functions in the globalnamespace, set the --save_main_session pipeline option to True. This changepickles the state of the global namespace to and loads it on theDataflow worker.
If you have objects in your global namespace that can't be pickled, a picklingerror occurs. If the error is regarding a module that should be available in thePython distribution, import the module locally, where it's used.
To determine which is the case, expand theCloud Monitoring log entry tosee a stack trace. Look for messages that indicate that the DoFn code is stuckor otherwise encountering issues. If no messages are present, the issue might bethe execution speed of the DoFn code. Consider usingCloud Profiler or other tool toinvestigate the performance of your code.
If your pipeline is built on the Java VM (using either Java or Scala), you caninvestigate the cause of your stuck code. Take a full thread dump ofthe whole JVM (not just the stuck thread) by following these steps:
To resolve this issue, look in theCloud Monitoringlogs of the job for thefour individual failures. In the worker logs, look for Error-level or Fatal-level logentries that show exceptions or errors. The exception orerror should appear at least four times. If the logs only contain generictimeout errors related to accessing external resources, such as MongoDB, verifythat the worker service account has permission to access the subnetworkof the resource.
3a8082e126