Skip to main content
To configure the WITSML extractor, create a configuration file in YAML format. You can omit optional parameters, and the extractor applies the documented defaults. The example below shows the minimal configuration needed to run the WITSML extractor in simple mode.
showLineNumbers
Additional configuration examples are available in the WITSML extractor configuration samples repository.

Extraction rules

You can configure extraction rules to define what, how, and when the extractor ingests WITSML data into CDF. Set the rule_type parameter on each rule.
  • ChangedObject (CHANGEDOBJECT) — The default rule type. Finds objects that changed since the last request to the WITSML server. The rule requires that the WITSML server sets the dTimeLastUpdated flag correctly. The rule has been tested and verified for Petrolink PetroVault and Kongsberg SiteCom.
  • UpdateStatus (UPDATESTATUS) — Finds objects to ingest based on a status attribute that matches the rule. The query can become out of sync when the status changes and no rule captures the changed attribute. The rule runs its query and compares the result with data in CDF RAW. If there is a mismatch, the extractor creates a ScheduledObjectQuery for the object. The rule can handle the wellbore isActive status or the log objectGrowing flag.
  • If you add new rules to the configuration file at runtime, the extractor sets all existing rules to inactive before ingesting the new rules into the table based on their definitions.
  • If the extractor section isn’t added to the configuration file at runtime, the extractor uses the rules stored in the extractionrules table in the witsml-config database.

Parameter interactions for ChangedObject rules

Three parameters control how ChangedObject rules query WITSML servers and use extraction state. Understanding how they interact helps you tune performance and recover from sync issues without manually editing state stores. filter_on_last_modified and load_deltas both rely on extraction state, but they apply at different stages. filter_on_last_modified filters which objects the extractor queries from the WITSML server. load_deltas controls whether the extractor re-ingests all data points for a growing object or only new points. only_for_active_wellbores is independent of modification timestamps. It restricts queries to wellbores with an active status in CDF RAW, which is useful when you ingest logs only for active wellbores.
Setting filter_on_last_modified to false triggers a full re-fetch on every scheduled run for that rule. This increases load on the WITSML server and CDF. Use it temporarily for backfill or re-sync, then set it back to true.

Backfill or re-sync data

If extraction state is out of sync with the WITSML server, or you need to re-ingest historical data, temporarily disable incremental filtering instead of manually editing state stores.
1

Disable incremental filtering

Set filter_on_last_modified to false on the affected rule or rules in your configuration file.
2

Run the extractor

Restart the extractor or wait for the next scheduled run. The extractor performs a full re-fetch for the affected rules.
3

Re-enable incremental filtering

After the backfill completes, set filter_on_last_modified back to true (or remove the parameter to use the default).
Confirm that subsequent runs fetch only changed objects and extraction state updates normally.
If you also need to reprocess all data points for growing objects such as logs, set load_deltas to false during the backfill. Set it back to true after the re-sync completes.

Extractor

Include the extractor section to configure the extractor setup.

CDF

Include the cdf section to configure which CDF project the extractor loads data into and how to connect to the project. This section is required.

ETP

Include the etp section when you set up ingestion of live data from WITSML ETP objects to CDF. This section is optional.

ETP gateway

Include the gateway subsection to configure how the extractor connects to the WITSML ETP provider.

Extract

This section contains the parameters needed to connect to your WITSML server and the related extraction rules. You can configure several WITSML servers. Each server needs its own witsml-server-reference with gateway and rules sections. The server reference is stored on all main object rows in CDF RAW to reference the object source.

Gateway

Include the gateway subsection to configure how the extractor connects to the WITSML server.

Rules

Include the rules subsection to define what, how, and when to ingest WITSML data into CDF. See Extraction rules for more details. The following values are valid for object_type.
  • ATTACHMENT
  • BHARUN
  • CEMENTJOB
  • DRILLREPORT
  • FLUIDSREPORT
  • FORMATIONMARKER
  • LOG
  • DEPTHLOG
  • TIMELOG
  • MESSAGE
  • MUDLOG
  • RIG
  • RISK
  • TRAJECTORY
  • WELL
  • TUBULAR
  • WBGEOMETRY
  • WELLBORE

ChangedObject rule config

These parameters apply when rule_type is CHANGEDOBJECT (or omitted). You can omit the entire config section to use all defaults.

UpdateStatus rule config

These parameters apply when rule_type is UPDATESTATUS. The config section and all parameters below are required.
Last modified on July 10, 2026