GBDS Configuration

Configuration File

The GBDS configuration parameters are defined in a configuration file containing all parameters and their respective values. Parameters that are omitted assume their default values. This section describes the properties of the configuration file.

This document is updated for GBDS version 4.6.9.

File Location

The configuration file is located at: /etc/griaule/conf/gbds/application.conf.

File Properties

The configuration file must follow some requirements so that it can be correctly interpreted by GBDS. These requirements are:

  1. The file name and its location must be exactly the same as described in the section File Location

  2. There must be only one configuration parameter per line.

  3. Each configuration parameter must have the form {parameter}={value}, without line breaks;

  4. Each value must be separated by a comma when assigned to the same parameter.

Akka Configuration Parameters

Akka configuration parameters are structured as a block at the beginning of the configuration file, as shown below:

circle-info

Go to the Akka Documentationarrow-up-right for more information about these parameters.

circle-exclamation

loglevel

This parameter defines the level of information that will be kept in the system logs. Values must be set in double quotes.

Default Value:

"WARNING"

Possible Values:

  • "OFF"

  • "ERROR"

  • "WARNING"

  • "INFO"

  • "DEBUG"

stdout-loglevel

This parameter defines the level of information that will be kept by the basic logger that is started during the initialization of the ActorSystem. This logger prints the log message to stdout (System.out). Values must be set in double quotes.

Default Value:

"INFO"

Possible Values:

  • "OFF"

  • "ERROR"

  • "WARNING"

  • "INFO"

  • "DEBUG"

loggers

This parameter defines, inside brackets, the logger entities that will be used for logging at boot time.

Default Value:

"akka.event.slf4j.Slf4jLogger"

logging-filter

This parameter defines the log event filter that will be used by the LoggingAdapter before publishing log events to the eventStream.

Default Value:

"akka.event.slf4j.Slf4jLoggingFilter"

actor

guardian-supervisor-strategy

This parameter defines the class that will be used by the guardian to obtain its supervisorStrategy

Default Value:

"com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"

provider

This parameter defines the ActorProvider that will be used.

Default Value:

"cluster"

Possible Values:

  • "local"

  • "remote"

  • "cluster"

serializers

This parameter defines the entries for serializers and their bindings.

The serializers used are:

kryo = io.altoo.akka.serialization.kryo.KryoSerializer proto = akka.remote.serialization.ProtobufSerializer

And their binding is:

"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo

remote

artery

This parameter defines the configuration for Artery based on the transport driver.

Default values:

transport = "tcp"

enabled = "on"

advanced.image-liveless-timeout = 20s

advanced.client-liveness-timeout = 10s

advanced.maximum-frame-size = 30MiB

advanced.buffer-pool-size = 128

advanced.maximum-large-frame-size = 100MiB

advanced.large-buffer-pool-size = 32

canonical.hostname = "gbds2"

canonical.port = 2551

cluster

seed-nodes

This parameter defines the nodes that will automatically join at startup. Each value must be added in double quotes and separated by commas inside brackets.

Example Value:

["akka://main@<hostname1>:2551"]

roles

This parameter defines the roles of this member. Each value must be added in double quotes and separated by commas inside brackets.

Default Value:

["manager"]

role.manager.min-nr-of-members

This parameter defines the minimum number of nodes that must be up before the cluster starts.

Default Value:

4

singleton.singleton-name

This parameter defines the name of the child singleton actor.

Default Value:

offsetmanager

singleton.hand-over-retry-interval

When a node is starting to become the oldest, it sends a hand-over request to the previously oldest node, which should be leaving the cluster. This parameter defines the time, in seconds, to retry sending the request until the previously oldest node confirms that the hand-over request has started or the previously oldest member is removed from the cluster.

Default Value:

1s

singleton.min-number-of-hand-over-retries

This parameter defines the minimum number of retries to resend the hand-over request to the previously oldest node.

Default Value:

15

singleton-proxy.singleton-name

This parameter defines the name of the singleton actor that is initialized by the ClusterSingletonManager.

Default Value:

${akka.cluster.singleton.singleton-name}

singleton-proxy.singleton-identification-interval

This parameter defines the interval, in seconds, at which the proxy tries to resolve the singleton instance.

Default Value:

1s

singleton-proxy.buffer-size

If the singleton's location is unknown, the proxy will store the number of messages defined in this parameter in a buffer and deliver them when the singleton is identified. When the buffer is full, the oldest messages will be discarded and new messages will be sent by the proxy.

Default Value:

1000

Possible Values:

1 to 10000

Configuration Parameters

This section describes each of the GBDS configuration parameters that can be listed in the configuration file and how they affect the system's operation.

gbds.log.diagnose

Adds logs to the Kafka queue for each consumption activity.

Default Value:

true

gbds.cluster.kafka.task.topic

This parameter defines the Kafka topic where tasks will be allocated.

Default Value:

gbds-tasks

gbds.cluster.kafka.max-tasks-per-poll

Number of tasks performed in Kafka in each poll. Task consumption in Kafka is done by polling the queue, and the poll retrieves a certain number of records each time. Each record is a task in GBDS. This setting limits how many records are fetched per poll.

Default Value:

1

Possible Values:

1 to 1000

gbds.cluster.zookeeper.quorum

This parameter defines the hostname and port where the zookeeper servers can be found. If more than one value is available, each value must be separated by commas

Default Value:

<hostname>:<port>

gbds.cluster.tasks.window-size-for-avoiding-duplicate-tasks

This parameter configures the size of the queue with the last N processed/in-processing tasks. If a task is duplicated for processing and is still in the queue, it is ignored.

Default Value:

1000

gbds.cluster.kafka.quorum

This parameter defines the address of the Kafka broker and must reflect the Kafka configurations.

Default Value:

<hostname>:6667

gbds.node.matchers.start.parameters

This parameter defines the initial settings for the node matchers when the application is starting.

Default Value:

"-Dakka.remote.netty.tcp.port=0 -Dakka.cluster.roles.0=matcher -Dlog4j.configuration=file:/etc/griaule/conf/gbds/gbds-log4j.xml -XX:MaxMetaspaceSize=256m -Xmx1024m"

gbds.node.matchers.actor-system-start.timeout

This parameter defines the timeout, in seconds, to initialize each ActorSystem remote that will run a matcher.

Default Value:

30s

gbds.node.matchers.start.timeout

This parameter defines the timeout, in seconds, to open a matcher section in the ActorSystem remote.

Default Value:

20s

gbds.node.matchers.number

This parameter defines the number of matchers that will be used on this GBDS node.

If match microservices are enabled, 3 instances of the microservice will be started for each 1 defined in this setting.

Default Value:

1

gbds.node.sinks.number

This parameter defines the number of sinks that will be used on this GBDS node.

Default Value:

1

gbds.node.actor-start.timeout

This parameter defines the timeout, in seconds, for initialization of all actors on this GBDS node.

Default Value:

60s

gbds.node.max-loaded-tasks

This parameter defines the maximum number of tasks that can coexist simultaneously in GBDS. When this number is reached, no task will be read until some previous one is sent.

Default Value:

100

Possible Values:

1 a 20000

gbds.node.wait-time-when-maxed-tasks:

This parameter defines the wait time before reading more tasks from Kafka.

Default Value:

1s

Possible Values:

0s a 5s

gbds.node.hbase-template-loaders.number

This parameter defines the number of HBase template loaders.

Default Value::

1

gbds.node.rdb-template-loaders.number

This parameter defines the number of RDB template loaders.

Default Value::

1

gbds.biometric.fingerprint.cab.skip-non-cab

This parameter is a flag to skip non-cab templates.

Default Value::

true

gbds.matchers.metrics.enabled

This parameter enables matcher metrics.

Default Value::

true

gbds.biometric.face.identify.enabled

This parameter enables the identification operation for faces.

Default Value::

true

gbds.biometric.face.enroll.enabled

This parameter enables face enrollment.

Default Value::

true

gbds.biometric.fingerprint.cab.search-without-cab

This parameter is a flag to perform searches without cab.

Default Value::

false

gbds.fingerprint.post-matching.enabled

This parameter enables post matching for fingerprints.

Default Value::

true

gbds.face.post-matching.enabled

This parameter enables post matching for face.

Default Value::

true

gbds.cluster.quorum.quorum-check-delay

This parameter defines the delay, in seconds, to make the decision to Shut Down a cluster member that is unreachable or removed.

circle-info

Shut Down, in this case, refers to marking the node as unreachable, so that the rest of the system adapts its operation to the case with one fewer node.

The delay counter starts and restarts whenever there are changes in the cluster members' states.

Default Value:

5s

gbds.boot.completed-message-ack.timeout

This parameter defines how long, in seconds, the boot actor (boot) will wait for receiving an ack for the CompletedBootMessage from a NodeManager

If the ack if not received, the message will be resent.

Default Value:

3s

gbds.boot.people.node-nr-scanners

Number of parallel scan actors that will scan registered people during system boot on each node.

Default Value:

1

gbds.boot.shuffler-message-ack.timeout

How long the shuffler actor will wait for an acknowledge. If the acknowledge is not received, the message will be resent.

Default Value:

90s

gbds.boot.scan.ignoreErrorsOnRegion

Determines whether failing HBase regions should be ignored during boot.

Default Value:

true

Possible Values:

  • true

  • false

gbds.boot.scan.ignoreErrorsOnRegion.maxTries

Defines the maximum number of attempts before ignoring a failing region during boot.

Default Value:

5

gbds.boot.scan.maxRowsPerNode

Using this setting, GBDS will stop scanning people on a node as soon as it reaches this number of rows.

Default Value:

0

gbds.boot.scan-delayer.rows

Defines the number of rows to be scanned before the delay.

Default Value:

0

gbds.boot.scan-delayer.secs

Defines the delay time to wait after each block of scanned rows.

Default Value:

0

gbds.ul.boot.scan.enabled

Defines whether UL boot should be ignored.

Default Value:

true

Possible Values:

  • true

  • false

gbds.boot.scan.ignoreErrorsOnRegion

Defines whether bad regions should be ignored during UL boot.

Default Value:

true

Possible Values:

  • true

  • false

gbds.boot.matcher.creation.sleepTime.ms

Defines the sleep time between the creation of matchers.

Default Value:

500

Minimum Value:

0

Maximum Value:

30000

gbds.biometric.fingerprint.enabled

This parameter is used to determine if fingerprint is the priority search object.

Default Value:

true

Possible Values:

  • true

  • false

gbds.biometric.fingerprint.exception.enabled

This parameter defines if fingerprints should be considered when generating enrollment exceptions (enrollment).

Default Value:

true

Possible Values:

  • true

  • false

gbds.biometric.fingerprint.identify.threshold

This parameter defines the minimum match score for a fingerprint comparison to be considered a match during an identification operation.match) during the search operation.

Default Value:

30

gbds.biometric.fingerprint.exception.threshold

This parameter defines the minimum match score for a fingerprint comparison to be considered a matchmatch) during enrollment operations, generating an exception.

Default Value:

40

gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception

This parameter defines the minimum number of finger matches required to generate an exception during an enrollment operation.

Default Value:

2

gbds.biometric.fingerprint.cab.identify.threshold

This parameter defines the threshold for matches using CAB analysis. This parameter is not used if CAB checking is not enabled.

Default Value:

5

gbds.biometric.fingerprint.latent.threshold

This parameter defines the minimum score to consider a latent fingerprint search a match.

Default Value:

10

gbds.biometric.fingerprint.identify.index.delta-zero

This parameter defines the configuration index for Delta Zero. Delta coefficients are used to optimize searches.

Default Value:

-1 (disabled)

gbds.biometric.fingerprint.identify.index.delta-one

This parameter defines the configuration index for Delta One. Delta coefficients are used to optimize searches.

Default Value:

-1 (disabled)

gbds.latent.candidates.max-number

This parameter defines the maximum size of the candidate list returned in latent searches.

Default Value:

1000

gbds.biometric.palmprint.enabled

This parameter is used to determine if palmprints are primary search objects.

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.palmprint.exception.enabled

This parameter defines if palmprints should be considered for generating enrollment exceptions (enroll).

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.palmprint.interdigital.identify.threshold

This parameter defines the minimum match score for the comparison between palmar interdigital prints to be considered a match during search operations.

Default Value:

70

gbds.biometric.palmprint.thenar.identify.threshold

This parameter defines the minimum match score for the comparison between palmar thenar prints to be considered a match during search operations.

Default Value:

70

gbds.biometric.palmprint.hypothenar.identify.threshold

This parameter defines the minimum match score for the comparison between palmar hypothenar prints to be considered a match during search operations.

Default Value:

70

gbds.biometric.face.enabled

This parameter is used to determine if faces are used as primary search objects.

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.face.exception.enabled

This parameter defines if facial images should be considered when generating enrollment exceptions (enroll).

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.face.identify.threshold

This parameter defines the minimum match score for face comparisons to be considered a match during a search operation.

Default Value:

60

gbds.biometric.face.exception.threshold

This parameter defines the threshold that will be used when comparing facial biometrics during identification operation. Setting a high value for this parameter may possibly increase the number of false negative occurrences.

Default Value:

60

gbds.biometric.face.exception.minimum.coincident-fingers.ignore.face

This parameter defines the minimum number of coincident fingers required to discard the face comparison result when generating an enrollment exception (enroll).

Default Value:

4

gbds.biometric.face.template.format

Defines the template format for face.

The possible values are: TPT_FORMAT_1 or TPT_FORMAT_2.

circle-exclamation
triangle-exclamation

gbds.biometric.iris.enabled

This parameter is used to determine if the iris is defined as a primary search object.

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.iris.exception.enabled

This parameter defines if the iris should be considered when generating enrollment exceptions (enroll).

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.iris.exception.threshold

This parameter defines the minimum match score for an iris comparison to be considered a match during an enrollment operation, generating an exception.

Default Value:

62

gbds.biometric.iris.identify.threshold

This parameter defines the minimum match score for an iris comparison to be considered a match during a search operation.

Default Value:

62

gbds.latent.reverse-latent-match.enabled

This parameter defines whether unresolved latent enrollment and search are enabled. It is used for forensic applications.

Default Value:

false

Possible Values:

  • true

  • false

gbds.latent.fingerprint.identify.threshold

This parameter defines the minimum score to consider a latent fingerprint search a match.

Default Value:

12

gbds.latent.additional-search.enabled

This parameter defines whether additional searches are active for latent searches. Additional searches will perform an extra comparison for matching pairs within a defined threshold.

Default Value:

false

Possible Values:

  • true

  • false

gbds.latent.additional-search.fingerprint.execution-lower-bound

This parameter defines the minimum match score for which additional searches should be performed.

Default Value:

15

gbds.latent.additional-search.fingerprint.execution-upper-bound

This parameter defines the maximum score for which additional searches should be performed.

Default Value:

120

gbds.latent.primary-classification.enabled

This parameter defines whether primary classifications should be used for latent searches.

Default Value:

false

Possible Values:

  • true

  • false

gbds.latent.primary-classification.same-class.fingerprint.threshold

This parameter defines the minimum threshold to compare same-class fingerprints and consider a match during latent searches.

Default Value:

15

gbds.latent.primary-classification.different-class.fingerprint.threshold

This parameter defines the minimum threshold to consider a match between different finger classes during latent searches.

Default Value:

40

gbds.latent.primary-classification.unknown-class.should-use-different-class-threshold

This parameter defines whether the different-class match threshold should be used for latent searches when there is an unknown primary classification.

Default Value:

true

Possible Values:

  • true

  • false

gbds.latent.ul.fingerprint.identify.threshold

This parameter defines the default threshold for unresolved latent fingerprint search.

Default Value:

4

gbds.latent.ul.palmprint.identify.threshold

This parameter defines the default threshold for unresolved latent palmprint search.

Default Value:

4

gbds.latent.postmatching.enabled

This parameter defines whether the postmatching is active for reverse latent searches, regular latent searches and searches against unresolved latents already registered.

Default Value:

false

Possible Values:

  • true

  • false

gbds.rdb.driverClassName

This parameter defines the class name for the relational database that will be used to store unresolved latents. This value must be set in double quotes.

Default Value:

"com.mysql.jdbc.Driver"

gbds.rdb.url

This parameter defines the URL of the relational database to be accessed. This value must be set in double quotes.

Default Value:

"jdbc:mysql://<address>:<port>/gbds"

gbds.rdb.username

This parameter defines the user to be used in the relational database. This value must be set in double quotes.

Default Value:

"root"

gbds.rdb.password

This value defines the password to be used to access the relational database. This value must be set in double quotes.

gbds.rdb.dialect

This parameter defines the dialect to be used in the relational database. This value must be enclosed in double quotes.

Default Value:

"org.hibernate.dialect.MySQLDialect"

gbds.rdb.showSql

This parameter defines whether SQL statements should be included in the application logs.

Default Value:

true

Possible Values:

  • true

  • false

gbds.rdb.maxPoolSize

This parameter defines the maximum number of connections that a pool will maintain.

Default Value:

100

gbds.rdb.minPoolSize

This parameter defines the minimum number of connections that a pool will maintain.

Default Value:

1

gbds.rdb.initialPoolSize

This parameter defines the number of connections a pool will attempt to acquire at startup. This value must be between gbds.rdb.minPoolSize and gbds.rdb.maxPoolSize.

Default Value:

2

gbds.rdb.maxStatments

This parameter defines the size of c3p0's global PreparedStatement cache. If both gbds.rdb.maxStatments and gbds.rdb.maxStatementsPerConnection are zero, the statement caching will not be enabled. If gbds.rdb.maxStatments is zero, but gbds.rdb.maxStatementsPerConnection is nonzero, the statement caching will be enabled, but no global limit will be enforced, only the per-connection maximum.

This parameter controls the total number of statements cached for all connections. If greater than zero, it should be a significantly large number, since each pooled connection requires its own distinct set of statements in cache. As a guideline, consider how many distinct PreparedStatements are frequently used in your application, then multiply that number by gbds.rdb.maxPoolSize to arrive at an appropriate value.

Default Value:

0

gbds.rdb.maxIdleTime

This parameter defines, in seconds, how long a connection may be pooled but unused before being discarded. Zero means idle connections never expire.

Default Value:

1800

gbds.rdb.maxConnectionAge

This parameter defines, in seconds, the lifetime of a connection. A connection older than gbds.rdb.maxConnectionAge will be destroyed and removed from the pool. This differs from gbds.rdb.maxIdleTime because it refers to absolute age. Even a connection that hasn't been very idle will be removed from the pool if it exceeds gbds.rdb.maxConnectionAge. Zero means no absolute maximum age is applied.

Default Value:

1800

gbds.rdb.statementCacheNumDeferredCloseThreads

If configured with a value greater than 0, the statement cache will track when connections are in use and only destroy the statements when their parent Connections are not in use. Although closing a statement while the parent connection is in use is formally within specifications, some databases and/or JDBC drivers, most notably Oracle, do not handle the case well and hang, leading to deadlocks. Setting this parameter to a positive value should eliminate the problem. This parameter should only be set if you observe c3p0 attempts to close() the statements cached ones hang (typically, you will see APPARENT DEADLOCKS in your logs). If set, this parameter should almost always be set to 1.

Default Value:

1

gbds.rdb.acquireIncrement

Determines how many connections at a time c3p0 will try to acquire when the pool is exhausted.

Default Value:

10

gbds.rdb.testConnectionOnCheckout

If true, an operation will be performed on each connection checkout to check whether the connection is valid. Testing connections on checkout is the simplest and most reliable form of connection testing, but for better performance consider testing connections periodically using gbds.rdb.idleConnectionTestPeriod.

Default Value:

false

Possible Values:

  • true

  • false

gbds.rdb.testConnectionOnCheckin

If true, an operation will be performed asynchronously on each connection checkin to verify whether the connection is valid. Use in combination with gbds.rdb.idleConnectionTestPeriod for an always-asynchronous and quite reliable connection test.

Default Value:

true

Possible Values:

  • true

  • false

gbds.rdb.acquireRetryAttempts

Defines how many times c3p0 will attempt to acquire a new connection from the database before giving up. If this value is less than or equal to zero, c3p0 will keep trying to obtain a connection indefinitely.

Default Value:

10

gbds.rdb.idleConnectionTestPeriod

If this number is greater than 0, c3p0 will test all idle, unchecked connections in the pool every number of seconds defined by this parameter.

Default Value:

30

gbds.biometric.newborn-palmprint.enabled

This parameter is used to determine whether newborn palmprint is the prioritized search object.

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.newborn-palmprint.exception.enabled

This parameter defines whether newborn palmprint should be considered when generating enrollment exceptions.

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.newborn-palmprint.identify.threshold

This parameter defines the minimum match score for a newborn palmprint comparison to be considered a match during the search operation.

Default Value:

50

gbds.cluster.recovery.qtd.scanners

Number of scanners for cluster recovery.

Default Value::

5

gbds.cluster.recovery.qtd.getters

Number of getters for cluster recovery. This parameter is no longer used in version 3.2x or above.

Default Value::

2

gbds.cluster.recovery.shuffler.block.window.size

Number of shuffler block window size (shuffler buffer size) for cluster recovery.

Default Value::

100

gbds.router.virtual-nodes.number

This parameter defines the number of virtual nodes.

Default Value::

100

gbds.biometric.best-of-biometrics.enabled

This parameter enables best-of-biometrics. When enabled, a person's biometric set is the consolidation of the best biometrics obtained from all the person's transactions over time.

circle-exclamation

Default Value:

false

Possible Values:

  • true

  • false

gbds.biometric.remove-inactive-people-from-enroll-result

This parameter defines whether inactive profiles should be removed from enroll results.

Default Value:

false

Possible Values:

  • true

  • false

gbds.transparency.search.identify.result.notify.enabled

This parameter enables the email notification service, which sends notifications of search results with persons of interest.

Default Value:

false

Possible Values:

  • true

  • false

gbds.searches.verify.saveOnRdb.enabled

Defines whether the verify operation will be saved in the gbds.transaction RDB table.

Default Value:

true

Possible Values:

  • true

  • false

triangle-exclamation

gbds.searches.identify.saveOnRdb.enabled

Defines whether the identify operation will be saved in the gbds.transaction RDB table.

Default Value:

true

Possible Values:

  • true

  • false

triangle-exclamation

gbds.monitor.port

Defines the port on which the GBDS Monitor will run.

Default Value:

9100

gbds.memory-monitor

Adds JVM memory usage to logs every 10 seconds.

Default Value:

false

Possible Values:

  • true

  • false

gbds.watchdog.interval

Defines, in minutes, the time interval for watchdog logs.

Default Value:

1

Maximum Value:

60

gbds.watchdog.log.mode

Defines the watchdog log mode.

Default Value:

TGUID_MATCHER_MAP

Possible Values:

  • TGUID_MATCHER_MAP

  • MATCHER_TGUID_MAP

gbds.watchdog.log.level

Defines the watchdog log level.

Default Value:

DEBUG

Possible Values:

  • DEBUG

  • INFO

gbds.verifyPostMatch.enabled

Turns post-match verification on or off in enrollment transactions with exceptions.

Default Value:

true

Possible Values:

  • true

  • false

gbds.search.verify.adjust-resolution

When this setting is enabled, API verifications and updates and the post-match verification in GBDS will adjust the resolution by performing a match verification, lowering the score on fingers and palms.

Default Value:

true

Possible Values:

  • true

  • false

gbscluster.update.consider.fingerprints

This parameter defines whether fingerprints should be considered when generating update exceptions.

Default Value:

true

Possible values:

  • true

  • false

gbscluster.update.consider.faces

This parameter defines whether face images should be considered when generating update exceptions.

Default Value:

false

Possible values:

  • true

  • false

gbscluster.update.consider.faces.beforeFingerprints

This parameter defines whether faces should be analyzed before fingerprints when generating update exceptions. If false, face analysis is done after fingerprint analysis.

Default Value:

false

Possible Values:

  • true

  • false

gbscluster.update.faces.verify.matchthreshold

This parameter defines the threshold to be used during facial biometric comparisons in search operations. Setting a high value for this parameter may possibly result in an increase in false negatives.

Default Value:

60

gbscluster.update.minimum.fingers

This parameter defines the minimum number of finger matches required for an update operation to be accepted.

Default Value:

4

Template Serializer Configuration

This section describes configuration parameters related to the template serializer. These configuration parameters are designed to allow the use of the GBDS Batch Extractor.

circle-info

See the GBDS Batch Extractor manual for additional information on its use.

Whenever GBDS performs a cold boot, it will attempt to recover templates from a default column family. If the template does not exist in that column, GBDS will attempt to recover it from the fallback column family.

The serializer configuration parameters are:

Default Column Family

These parameters are divided by biometric modalities. Templates in this column family are not encoded and the format used is byteArray.

The default value for these parameters is tpt.

Fallback Column Family

These parameters refer to the column families previously used to store biometric templates. They are separated by biometric modality.

The default values represent the column families used before the change of these parameters, and are, respectively: fingerprints, palmprints, faces and iris.

Fallback encoding in base64

The fallback column family supports encoding. The following parameters define whether the column family is base64 encoded. base64:

The default value for these parameters is true.

gbds.template.memory.format

Defines how GBDS will store templates in memory and in the matchers.

The options are:

  • DESERIALIZED_FULL: Default option. Templates are stored deserialized with minutiae and segments.

  • SERIALIZED_MINUTIAE_SEGMENTS: Templates are stored deserialized with minutiae and segments.

  • SERIALIZED_MINUTIAE: Templates are stored serialized with minutiae only. Segments are re-extracted from the template for each search performed. This option increases 1:N search time.

  • OPTIMIZED: Uses a new optimized template format to reduce performance degradation over time in searches.

Memory pre-allocation

Defines the amount of pre-allocated memory for each modality.

The default value for each configuration is 0. The system understands Kilobytes (k, kb), Megabytes (m, mb) and Gigabytes (g, gb), case-insensitively. The value is divided equally among all the node's matchers.

circle-info

Face and iris cannot be pre-allocated.

Match Microservices

This section presents the configuration parameters related to match microservices.

The microservices configuration is unique for each cluster node.

gbds.match.service.enabled

Defines whether the match microservice is enabled.

Default Value:

false

Possible Values:

  • true

  • false

gbds.match.service.initialPort

Defines the starting port to launch match services on the node.

Default Value:

32000

gbds.match.service.logLevel

Defines the log level of the match service in GBDS. The different log levels are:

  • NONE: Does not produce logs about the service

  • INFO: Logs scripts and request URLs

  • TIME: Logs scripts, request URLs and execution time

  • DEBUG: Logs all service information

Default Value:

NONE

Possible Values

INFO

TIME

DEBUG

gbds.match.service.timeout

Defines the maximum timeout for requests to the match microservice, in milliseconds.

Default Value:

10000

gbds.match.service.templateSend.parallelByModality

Enables parallel processing by biometric modality in GBDS.

Default Value:

true

Possible Values:

  • true

  • false

gbds.match.service.linkLibSegfault

This parameter enables segmentation fault tracing in the match microservice.

Default Value:

false

Possible Values:

  • true

  • false

gbds.match.service.maxTries

When a match microservice has a connection error, it tries 3 times before failing the transaction, waiting 2s between attempts.

Default Value:

3

gbds.match.service.maxConnectionErrors

When a match microservice has 5 consecutive transactions with connection errors, GBDS stops to prevent failures in all transactions from that point.

Default Value:

5

gbds.match.service.checkTimeoutSecs

Timeout (in seconds) to check if the match microservice has been created.

Default Value:

10

Last updated

Was this helpful?