Skip to content

Enabling FileSystemWatcher without AutoUpdate #473

@ollyburns

Description

@ollyburns

Hi,

I run quite a large estate of containers. Following your documentation, I have an offline process to download the hash file, so we don't overload the download service. I have the following pipeline configuration in place which, I think / hope, watches the file system for changes and updates the copied and in memory file when the shared file is updated.

I have two questions:

  1. Is the CreateTempDataCopy necessary given the file is all loaded into memory when MaxPerformance is selected? The reason I ask this is that I also use the same technique for IP Location data and the file is massive, so I see big iops spikes while the file is being copied.
  2. This config generates regular errors in the logs like this: HTTP status code '400' from data update service at 'https://distributor.51degrees.com/api/v2/download?LicenseKeys=&Download=True&Type=HashV41', and I was wondering whether there is a way of supressing this auto fetch via config?
<?xml version="1.0" encoding="utf-8" ?>
<PipelineOptions>
    <Elements>
        <Element>
            <BuildParameters>
                <DataFile>/mnt/data/Enterprise-HashV41.hash</DataFile>
                <PerformanceProfile>MaxPerformance</PerformanceProfile>
                <CreateTempDataCopy>true</CreateTempDataCopy>
                <AutoUpdate>true</AutoUpdate>
                <DataFileSystemWatcher>true</DataFileSystemWatcher>
                <UpdatePollingIntervalSeconds>1800</UpdatePollingIntervalSeconds>
            </BuildParameters>
            <BuilderName>DeviceDetectionHashEngine</BuilderName>
        </Element>
   </Elements>
</PipelineOptions>

We are using the DataUpdateServiceDefault, set up like this:

DataUpdateService dataUpdateService = new DataUpdateServiceDefault();
File optionsFile = FileFinder.getFilePath("DeviceEnricherPipeline.xml");
PipelineOptions pipelineOptions = PipelineOptionsFactory.getOptionsFromFile(optionsFile);
Pipeline pipeline = new FiftyOnePipelineBuilder().addService(dataUpdateService).buildFromConfiguration(pipelineOptions);

Thank you for your help.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions