GBDS Config
Configuration File
GBDS configuration parameters are defined in a configuration file, containing all parameters and their respective values. Omitted parameters assume their default values. This section describes the properties of the configuration file.
This document is updated to GBDS version 4.6.9.
File Location
The configuration file is /etc/griaule/conf/gbds/application.conf
.
File Properties
The configuration file must follow some requirements in order to be correctly interpreted by GBDS. These requirements are:
The file name and location must be exactly as mentioned in section 1.1;
There must be exactly one configuration parameter per line;
Each configuration parameter must be in the form
{parameter}={value}
, without line breaks;Each value must be separated by a comma when attributed to a single parameter.
Akka Configuration Parameters
The Akka configuration parameters are structured as a block at the beginning of the configuration file, as shown below:
akka {
loglevel = "WARNING"
stdout-loglevel = "INFO"
loggers = ["akka.event.slf4j.Slf4jLogger"]
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
actor {
guardian-supervisor-strategy = "com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"
provider = "cluster"
allow-java-serialization = on
serialize-creators = off
serializers {
kryo = io.altoo.akka.serialization.kryo.KryoSerializer
proto = akka.remote.serialization.ProtobufSerializer
}
serialization-bindings {
"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo
}
default-dispatcher {
type = "Dispatcher"
executor = "default-executor"
default-executor {
fallback = "fork-join-executor"
}
fork-join-executor {
parallelism-min = 8
parallelism-factor = 1.0
parallelism-max = 64
}
}
}
remote {
artery.enabled = "on"
artery.transport = "tcp"
artery.canonical {
hostname = "gbds2"
port = 2551
}
artery.advanced {
image-liveless-timeout = 20s
client-liveness-timeout = 10s
maximum-frame-size = 30MiB
maximum-large-frame-size = 100MiB
buffer-pool-size = 128
large-buffer-pool-size = 32
}
use-dispatcher = "akka.remote.default-remote-dispatcher"
transport-failure-detector {
implementation-class = "akka.remote.DeadlineFailureDetector"
heartbeat-interval = 120s
acceptable-heartbeat-pause = 300s
}
watch-failure-detector {
implementation-class = "akka.remote.PhiAccrualFailureDetector"
heartbeat-interval = 300s
threshold = 10.0
max-sample-size = 200
min-std-deviation = 100s
acceptable-heartbeat-pause = 300s
unreachable-nodes-reaper-interval = 10s
expected-response-after = 120s
}
}
cluster {
seed-nodes = [
##NODES##
"akka://main@<hostname1>:2551",
"akka://main@<hostname2>:2551",
"akka://main@<hostname3>:2551",
"akka://main@<hostname4>:2551"
##LASTNODE##
]
roles =["manager"]
# Number of nodes that must be up before starting cluster
role.manager.min-nr-of-members=4
failure-detector.min-std-deviation = 1000 ms
failure-detector.threshold = 50.0
failure-detector.acceptable-heartbeat-pause = 900s
use-dispatcher = akka.cluster.cluster-dispatcher
singleton {
singleton-name = "offsetmanager"
hand-over-retry-interval = 1s
min-number-of-hand-over-retries = 15
}
singleton-proxy {
singleton-name = ${akka.cluster.singleton.singleton-name}
singleton-identification-interval = 1s
buffer-size = 1000
}
cluster-dispatcher {
type = "Dispatcher"
executor = "fork-join-executor"
fork-join-executor {
parallelism-min = 2
parallelism-max = 4
}
}
}
}
prio-dispatcher {
mailbox-type = "com.griaulebiometrics.gbds.driver.mailbox.PriorityMailbox"
type = "Dispatcher"
executor = "default-executor"
default-executor {
fallback = "fork-join-executor"
}
fork-join-executor {
parallelism-min = 8
parallelism-factor = 1.0
parallelism-max = 64
}
}
akka-kryo-serialization {
type = graph
id-strategy = default
resolve-subclasses = true
implicit-registration-logging = false
kryo-initializer = "com.griaulebiometrics.akka.utils.message.KryoInitializer"
}
It is strongly recommended to not change any Akka configuration parameters without proper orientation in order to avoid malfunctions on the application.
If some configuration must be changed in your environment, contact our support team at [email protected] for further information.
loglevel
This parameter defines the information level that will be kept by the configured loggers as soon as they have been started. The values must be defined between quotation marks.
Default Value:
"WARNING"
Possible Values:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
stdout-loglevel
This parameter defines the information level that will be kept by the very basic logger activated during ActorSystem startup. This logger prints the log messages to stdout (System.out). The values must be defined between quotation marks.
Default Value:
"INFO"
Possible Values:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
loggers
This parameter defines, between brackets, the logger entities that will be used to register at boot time.
Default Value:
"akka.event.slf4j.Slf4jLogger"
logging-filter
This parameter defines the log events 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 to be used.
Default Value:
"cluster"
Possible Values:
"local"
"remote"
"cluster"
serializers
This parameter defines the entries for pluggable serializers and their bindings.
The serializers used are:
kryo = io.altoo.akka.serialization.kryo.KryoSerializer
proto = akka.remote.serialization.ProtobufSerializer
And the binding is:
"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo
remote
artery
This parameter defines the configuration for the Artery based 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 to join automatically at startup. Each value must be added between quotation marks and separated by commas inside brackets.
Sample value:
["akka://main@<hostname1>:2551"]
roles
This parameter defines the roles of this member. Each value must be added between quotation marks 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 starting the cluster.
Default Value:
4
singleton.singleton-name
This parameter defines the actor name of the child singleton actor.
Default Value:
offsetmanager
singleton.hand-over-retry-interval
When a node is becoming the oldest, it sends hand-over request to the previous oldest, that might be leaving the cluster. This parameter defines the time, in seconds, to retry sending this request until the previous oldest confirms that the hand over has started or the previous 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 for sending the hand-over request to the previous oldest node.
Default Value:
15
singleton-proxy.singleton-name
This parameter defines the actor name for the singleton actor that is started 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 will try to resolve the singleton instance.
Default Value:
1s
singleton-proxy.buffer-size
If the singleton location is unknown, the proxy will buffer this number of messages and deliver them when the singleton is identified. Whenever the buffer is full, old messages will be dropped if new messages are sent through the proxy.
Default Value:
1000
Possible Values:
1
to10000
Configuration Parameters
This section describes each GBDS configuration parameter that can be listed in the configuration file, and how they affect the system operation.
gbds.log.diagnose
Adds Kafka queue logs on every task consuming poll.
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 on kafka taken at each poll. Task consuming on kafka is made by polling the queue and the poll retrieves a certain number of records each time. Each record is a task on GBDS. This configuration limit how many records is taken on each poll.
Default Value:
1
Possible Values:
1
to1000
gbds.cluster.zookeeper.quorum
This parameter defines hostname and port through which zookeeper servers can be found. Each value must be separated by commas if more than one is available.
Default Value:
<hostname>:<port>
gbds.cluster.tasks.window-size-for-avoiding-duplicate-tasks
This parameter configures the queue size with last “N” processing/processed tasks. If a task is duplicated for processing and it is still on queue, it is ignored.
Default Value:
1000
gbds.cluster.kafka.quorum
This parameter defines the Kafka broker addresses 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 starting the application.
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, for starting each remote ActorSystem that will run a matcher.
Default Value:
30s
gbds.node.matchers.start.timeout
This parameter defines the timeout, in seconds, for deploying a matcher in the remote ActorSystem.
Default Value:
20s
gbds.node.matchers.number
This parameter defines the number of matchers that will be used in this GBDS node.
If the matcher microservices are enabled, 3 microservices will be initiated for each one specified by this parameter.
Default Value:
1
gbds.node.sinks.number
This parameter defines the number of sinks that will be used in this GBDS node.
Default Value:
1
gbds.node.actor-start.timeout
This parameter defines the timeout, in seconds, for starting all the actors of this GBDS node.
Default Value:
60s
gbds.node.max-loaded-tasks
This parameter defines the maximum number of tasks allowed to coexist simultaneously in GBDS. When this number is reached, no more tasks will be read until some are committed.
Default Value:
100
Possible Values:
10
to20000
gbds.node.wait-time-when-maxed-tasks:
This parameter defines the time to wait before attempting to read more tasks from Kafka.
Default Value:
1s
Possible Values:
0s
to5s
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 for skipping 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 identify for face images.
Default Value:
true
gbds.biometric.face.enroll.enabled
This parameter enables enroll for face images.
Default Value:
true
gbds.biometric.fingerprint.cab.search-without-cab
This parameter defines whether search is enable for fingerprint templates without cab information.
Default Value:
false
gbds.fingerprint.post-matching.enabled
This parameter enables fingerprint post matching for latent searches.
Default Value:
true
gbds.face.post-matching.enabled
This parameter enables face post matching.
Default Value:
true
gbds.cluster.quorum.quorum-check-delay
This parameter defines the delay, in seconds, for 'performing the decision of “Downing” an unreachable or removed cluster member.
The delay countdown starts and is reset whenever there is a change in the state of the cluster members.
Default Value:
5s
gbds.boot.completed-message-ack.timeout
This parameter defines how long, in seconds, the boot actor will wait for receiving an ack for the CompletedBootMessage from a NodeManager.
If the ack is not received, the message will be resent.
Default Value:
3s
gbds.boot.people.node-nr-scanners
This parameter defines the number of parallel scanner actors that will scan registered people during system boot on each node.
Default Value:
1
gbds.boot.shuffler-message-ack.timeout
This parameter defines the maximum waiting time for the shuffler actor to receive an acknowledge message. If the acknowledge is not received, the message will be resent.
Default Value:
90s
gbds.boot.scan.ignoreErrorsOnRegion
Defines whether HBase regions with error should be ignored on boot.
Default Value::
true
Possible Values::
true
false
gbds.boot.scan.ignoreErrorsOnRegion.maxTries
Defines the maximum number of tries before ignoring an HBase region with error on boot.
Default Value::
5
gbds.boot.scan.maxRowsPerNode
Using this configuration, GBDS will stop people scan in a node when it reaches this number of rows.
Default Value::
0
gbds.boot.scan-delayer.rows
Defines the number of rows to be scanned before waiting (delay).
Default Value::
0
gbds.boot.scan-delayer.secs
Defines the number of rows to wait after scanning the configured number of rows.
Default Value::
0
gbds.ul.boot.scan.enabled
Defines whether to skip the UL boot process.
Default Value:
true
Possible Values:
true
false
gbds.boot.scan.ignoreErrorsOnRegion
Defines whether to skip bad regions on UL boot.
Default Value:
true
Possible Values:
true
false
gbds.boot.matcher.creation.sleepTime.ms
Defines the sleep time between matcher creation.
Default Value:
500
Minimum Value:
0
Maximum Value:
30000
gbds.biometric.fingerprint.enabled
This parameter is used for determining whether fingerprints are primary search objects.
Default Value:
true
Possible Values:
true
false
gbds.biometric.fingerprint.exception.enabled
This parameter defines whether fingerprints should be considered when generating enrollment exceptions.
Default Value:
true
Possible Values:
true
false
gbds.biometric.fingerprint.identify.threshold
This parameter defines the minimum matching score for a fingerprint comparison to be considered a match during a search operation.
Default Value:
30
gbds.biometric.fingerprint.exception.threshold
This parameter defines the minimum matching score to consider a fingerprint comparison a match during an enrollment, generating an exception.
Default Value:
40
gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception
This parameter defines the minimum number of matched fingers required for generating 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 verification is not enabled.
Default Value:
5
gbds.biometric.fingerprint.latent.threshold
This parameter defines the minimum score to consider a latent search a match.
Default Value:
10
gbds.biometric.fingerprint.identify.index.delta-zero
This parameter defines the configuration index for Delta Zero. The 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. The Delta coefficients are used to optimize searches.
Default Value:
-1
(disabled)
gbds.latent.candidates.max-number
This parameter defines the maximum length of the candidates list when performing latent searches.
Default Value:
1000
gbds.biometric.palmprint.enabled
This parameter is used for determining whether palmprints are primary search objects.
Default Value:
false
Possible Values:
true
false
gbds.biometric.palmprint.exception.enabled
This parameter defines whether palmprints should be considered when generating enrollment exceptions.
Default Value:
false
Possible Values:
true
false
gbds.biometric.palmprint.interdigital.identify.threshold
This parameter defines the minimum matching score for a palmprint interdigital comparison to be considered a match during a search operation.
Default Value:
70
gbds.biometric.palmprint.thenar.identify.threshold
This parameter defines the minimum matching score for a palmprint thenar comparison to be considered a match during a search operation.
Default Value:
70
gbds.biometric.palmprint.hypothenar.identify.threshold
This parameter defines the minimum matching score for a palmprint hypothenar comparison to be considered a match during a search operation.
Default Value:
70
gbds.biometric.face.enabled
This parameter is used for determining whether faces are primary search objects.
Default Value:
false
Possible Values:
true
false
gbds.biometric.face.exception.enabled
This parameter defines whether face images should be considered when generating enrollment exceptions.
Default Value:
false
Possible Values:
true
false
gbds.biometric.face.identify.threshold
This parameter defines the minimum matching score for a face comparison to be considered a match during a search operation.
Default Value:
60
gbds.biometric.face.exception.threshold
This parameter defines the threshold to be used when matching face biometrics during “identify” operations. Assigning a high value to this parameter can possibly increase the number of false-negative occurrences.
Default Value:
60
gbds.biometric.face.exception.minimum.coincident-fingers.ignore.face
This parameter defines the number of correspondent fingers required to discard the face comparison result when generating an update exception.
Default Value:
4
gbds.biometric.face.template.format
Defines the template format for face.
Possible Values: TPT_FORMAT_1
or TPT_FORMAT_2
.
The face formats are not interchangeable. Faces enrolled in a format will not be matched with faces enrolled in another format.
This value must be the same on application.conf
and gbdsapi.properties
gbds.biometric.iris.enabled
This parameter is used for determining whether iris are primary search objects.
Default Value:
false
Possible Values:
true
false
gbds.biometric.iris.exception.enabled
This parameter defines whether iris should be considered when generating enrollment exceptions.
Default Value:
false
Possible Values:
true
false
gbds.biometric.iris.exception.threshold
This parameter defines the minimum matching score for an iris comparison to be considered a match during an enrollment, generating an exception.
Default Value:
62
gbds.biometric.iris.identify.threshold
This parameter defines the minimum matching 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 enroll and search of unsolved latents are enabled or disabled. 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 fingerprint latent search a match.
Default Value:
12
gbds.latent.additional-search.enabled
This parameter defines whether additional search is enabled for latent searches. Additional search will perform and additional comparison for matched pairs between a defined score threshold.
Default Value:
false
Possible Values:
true
false
gbds.latent.additional-search.fingerprint.execution-lower-bound
This parameter defines the lowest matching score above which additional search must be performed.
Default Value:
15
gbds.latent.additional-search.fingerprint.execution-upper-bound
This parameter defines the highest matching score under which additional search must be performed.
Default Value:
120
gbds.latent.primary-classification.enabled
This parameter defines whether primary classification must 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 for comparing same-class fingerprints and considering a match during latent searches.
Default Value:
15
gbds.latent.primary-classification.different-class.fingerprint.threshold
This parameter defines the minimum threshold for considering a match between different-class fingerprints during latent searches.
Default Value:
40
gbds.latent.primary-classification.unknown-class.should-use-different-class-threshold
This parameter defines whether the different class matching threshold must be used for latent search 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 searching unsolved fingerprint latents.
Default Value:
4
gbds.latent.ul.palmprint.identify.threshold
This parameter defines the default threshold for searching unsolved palmprint latents.
Default Value:
4
gbds.latent.postmatching.enabled
This parameter defines whether postmatching is enabled for reverse latent searches, regular latent searches and searches against registered unsolved latents.
Default Value:
false
Possible Values:
true
false
gbds.rdb.driverClassName
This parameter defines the class name for the relational database to be used for storing unsolved latents. This value must be defined between quotation marks.
Default Value:
"com.mysql.jdbc.Driver"
gbds.rdb.url
This parameter defines the relational database URL to be accessed. This value must be defined between quotation marks.
Default Value:
"jdbc:mysql://<address>:<port>/gbds"
gbds.rdb.username
This parameter defines the username to be used to access the relational database. This value must be defined between quotation marks.
Default Value:
"root"
gbds.rdb.password
This parameter defines the password to be used to access the relational database.This value must be defined between quotation marks.
gbds.rdb.dialect
This parameter defines the dialect to be used in the relational database. This value must be defined between quotation marks.
Default Value:
"org.hibernate.dialect.MySQLDialect"
gbds.rdb.showSql
This parameter defines whether SQL statements must be included in the application logs.
Default Value:
true
Possible Values:
true
false
gbds.rdb.maxPoolSize
Maximum number of Connections a pool will maintain at any given time.
Default Value:
100
gbds.rdb.minPoolSize
Minimum number of Connections a pool will maintain at any given time.
Default Value:
1
gbds.rdb.initialPoolSize
Number of Connections a pool will try to acquire upon startup. This value must be in the range from gbds.rdb.minPoolSize to 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, statement caching will not be enabled. If gbds.rdb.maxStatments is zero but gbds.rdb.maxStatementsPerConnection is a non-zero value, 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 set, it should be a fairly large number, as each pooled Connection requires its own, distinct flock of cached statements. As a guide, consider how many distinct PreparedStatements are used frequently in your application, and multiply that number by gbds.rdb.maxPoolSize to arrive at an appropriate value.
Default Value:
0
gbds.rdb.maxIdleTime
This parameter defines, in seconds, the time a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire.
Default Value:
1800
gbds.rdb.maxConnectionAge
This parameter defines, in seconds, the max time for a connection to live. A Connection older than gbds.rdb.maxConnectionAge will be destroyed and purged from the pool. This differs from gbds.rdb.maxIdleTime in that it refers to absolute age. Even a Connection which has not been much idle will be purged from the pool if it exceeds gbds.rdb.maxConnectionAge. Zero means no maximum absolute age is enforced.
Default Value:
1800
gbds.rdb.statementCacheNumDeferredCloseThreads
If set to a value greater than 0, the statement cache will track when Connections are in use, and only destroy Statements when their parent Connections are not otherwise in use. Although closing of a Statement while the parent Connection is in use is formally within spec, some databases and/or JDBC drivers, most notably Oracle, do not handle the case well and freeze, leading to deadlocks. Setting this parameter to a positive value should eliminate the issue. This parameter should only be set if you observe that attempts by c3p0 to close() cached statements freeze (usually you'll 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 at every connection checkout to verify that the connection is valid. Testing Connections in checkout is the simplest and most reliable form of Connection testing, but for better performance, consider verifying connections periodically using gbds.rdb.idleConnectionTestPeriod.
Default Value:
false
Possible Values:
true
false
gbds.rdb.testConnectionOnCheckin
If true, an operation will be performed asynchronously at every connection check-in to verify that the connection is valid. Use in combination with gbds.rdb.idleConnectionTestPeriod for quite reliable, always asynchronous Connection testing.
Default Value:
true
Possible Values:
true
false
gbds.rdb.acquireRetryAttempts
Defines how many times c3p0 will try 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 fetch a Connection indefinitely.
Default Value:
10
gbds.rdb.idleConnectionTestPeriod
If this is a number greater than 0, c3p0 will test all idle, pooled but unchecked-out connections, every this number of seconds.
Default Value:
30
gbds.biometric.newborn-palmprint.enabled
This parameter is used for determining whether newborn palmprints are primary search objects.
Default Value:
false
Possible Values:
true
false
gbds.biometric.newborn-palmprint.exception.enabled
This parameter defines whether newborn palmprints 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 matching score for a newborn palmprint comparison to be considered a match during a search operation.
Default Value:
50
gbds.cluster.recovery.qtd.scanners
Number of scanner for cluster recovery
Default Value:
5
gbds.cluster.recovery.qtd.getters
Number of getters for cluster recovery. This parameter is not used on version 3.2x and 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 the best-of-biometrics, when enabled, the person biometric is the consolidation of the best biometrics obtained of that person in all transactions.
This flag MUST have the same value in GBDS API and GBDS.
Default Value:
false
Possible Values:
true
false
gbds.biometric.remove-inactive-people-from-enroll-result
This parameter defines whether to remove inactive people 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 email notifications for search results with people of interest.
Default Value:
false
Possible Values:
true
false
gbds.searches.verify.saveOnRdb.enabled
Defines if the verify searches will be saved on RDB table gbds.transaction
.
Default Value:
true
Possible Values:
true
false
This value must be the same on application.conf
and gbdsapi.properties
gbds.searches.identify.saveOnRdb.enabled
Defines if the identify searches will be saved on RDB table gbds.transaction
.
Default Value:
true
Possible Values:
true
false
This value must be the same on application.conf
and gbdsapi.properties
gbds.monitor.port
Defines the port to run the GBDS Monitor.
Default Value:
9100
gbds.memory-monitor
Adds a memory monitor that logs JVM memory usage 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 on or off Verify Post Match on enroll transactions with exceptions.
Default Value:
true
Possible Values:
true
false
gbds.search.verify.adjust-resolution
When this setting is turned on, verify and update on API and verify post match on GBDS will adjust resolution performing verify match, decreasing 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 when matching face biometrics during search operations. Assigning a high value to this parameter can possibly increase the number of false-negative occurrences.
Default value:
60
gbscluster.update.minimum.fingers
This parameter defines the minimum number of fingerprint matches required for an “update” operation to be accepted.
Default value:
4
Template Serializer Configuration
This section describes the configuration parameters related to the template serializer. These configuration parameters are designed for allowing the use of GBDS Batch Operations.
Whenever GBDS performs a cold boot operation, it tries to recover the templates from the standard column family. If a template does not exist at the standard column family, it tries to recover it from the fallback column family.
The configuration parameters for the serializer are the following ones:
Standard Column Family
These parameters are divided by biometric modality. The templates in these column families have no encoding and the format used is byteArray.
gbds.hbase.templates.fingerprint.cf.name
gbds.hbase.templates.palmprint.cf.name
gbds.hbase.templates.face.cf.name
gbds.hbase.templates.iris.cf.name
gbds.hbase.templates.newborn-palmprint.cf.name
The default value for these parameters is tpt
.
Fallback Column Family
These parameters refer to the column family previously used for storing the biometric templates, separated by biometric modality.
gbds.hbase.templates.fallback.fingerprint.cf.name
gbds.hbase.templates.fallback.palmprint.cf.name
gbds.hbase.templates.fallback.face.cf.name
gbds.hbase.templates.fallback.iris.cf.name
gbds.hbase.templates.fallback.newborn-palmprint.cf.name
The default values represent the column family used before changing these parameters and are, respectively: fingerprints
, palmprints
, faces
, iris
.
Fallback base64 encoding
The fallback column family supports encoding. The following parameters defines whether the column family is base64 encoded:
gbds.hbase.templates.fallback.fingerprint.cf.is-base64-encoded
gbds.hbase.templates.fallback.palmprint.cf.is-base64-encoded
gbds.hbase.templates.fallback.face.cf.is-base64-encoded
gbds.hbase.templates.fallback.iris.cf.is-base64-encoded
gbds.hbase.templates.fallback.newborn-palmprint.cf.is-base64-encoded
The default value for these parameters is true
gbds.template.memory.format
Defines how GBDS will store the templates on memory.
The options are:
DESERIALIZED_FULL
: Default option. Templates are stored on matchers deserialized on memory with minutiae and segments.SERIALIZED_MINUTIAE_SEGMENTS
: Templates are stored on matchers serialized on memory with minutiae and segments.SERIALIZED_MINUTIAE
: Templates are stored on matchers serialized on memory with minutiae only. Segments are re-extracted from template on each search made. This affects 1:N search time.OPTIMIZED
: Uses a new optimized template format to reduce search performance degradation over time.
Memory Pre-allocation
Defines the amount of memory pre-allocated for each modality.
gbds.fingerprint.memory-storage.pre-aloc
gbds.palmprint.memory-storage.pre-aloc
gbds.newborn-palmprint.memory-storage.pre-aloc
gbds.ul-fingerprint.memory-storage.pre-aloc
gbds.ul-palmprint.memory-storage.pre-aloc
Default value for each configuration is 0
. The system understands Kilobytes (k
, kb
), Megabytes (m
, mb
) and Gigabytes (g
, gb
), not case sensitive. The value is divided equally between all matchers on the node.
Matcher Microservices
This section presents the configuration parameters related do the matcher microservices.
The microservice configuration is unique to each node in the cluster.
gbds.match.service.enabled
Defines whether the matcher microservices are turned on.
Default Value:
false
Possible Values:
true
false
gbds.match.service.initialPort
Defines the initial port to start matcher services on the node.
Default Value:
32000
gbds.match.service.logLevel
Defines the matcher services log level on GBDS. The different log levels are:
NONE
: Logs nothingINFO
: Logs scripts and request URLsTIME
: Logs scripts, request URLs, and time elapsedDEBUG
: Logs everything and turn on service log tail
Default Value:
NONE
Possible Values:
INFO
TIME
DEBUG
gbds.match.service.timeout
Defines the maximum timeout for requests to the matcher microservice, in milliseconds.
Default Value:
10000
gbds.match.service.templateSend.parallelByModality
Turns on parallel processing by biometric modality in GBDS.
Default Value:
true
Possible Values:
true
false
gbds.match.service.linkLibSegfault
Turns on segmentation fault tracking on the matcher microservice.
Default Value:
false
Possible Values:
true
false
gbds.match.service.maxTries
When a match microservice has a connection error, try 3 times before failing its transaction, waiting 2s between tries.
Default Value:
3
gbds.match.service.maxConnectionErrors
When a match microservice has 5 failed transactions by connection error in a row, stop GBDS to prevent failing every transaction from that point.
Default Value:
5
gbds.match.service.checkTimeoutSecs
Timeout (in seconds) to check if the matcher microservice was created.
Default Value:
10
Last updated