Configuração do GBDS
Arquivo de Configuração
Os parâmetros de configuração do GBDS são definidos em um arquivo de configuração contendo todos os parâmetros e seus respectivos valores. Parâmetros que são omitidos assumem seus valores padrões. Essa seção descreve as propriedades do arquivo de configuração.
Esse documento está atualizado para a versão 4.6.9 do GBDS.
Localização do Arquivo
O arquivo de configuração está localizado em: /etc/griaule/conf/gbds/application.conf
.
Propriedades do Arquivo
O arquivo de configuração deve seguir alguns requerimentos para que possa ser interpretado corretamente pelo GBDS. Esses requerimentos são:
O nome do arquivo e sua localização devem ser exatamente iguais ao descrito na seção Localização do Arquivo
Deve haver somente um parâmetro de configuração por linha.
Cada parâmetro de configuração deve ter forma
{parâmetro}={valor}
, sem quebras de linha;Cada valor deve ser separado por uma vírgula quando atribuído a um mesmo parâmetro.
Parâmetros de Configuração do Akka
Os parâmetros de configuração do Akka são estruturados como um bloco no começo do arquivo de configuração, como mostrado abaixo:
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"
}
É fortemente recomendado que não se altere nenhum parâmetro de configuração do Akka sem orientação adequada para evitar mau funcionamento da aplicação.
Se for necessário atualizar as configurações de seu ambiente, contate o suporte da griaule pelo e-mail [email protected] para mais informações.
loglevel
Esse parâmetro define o nível de informação que será mantido nos logs do sistema. Os valores devem ser definidos entre aspas duplas.
Valor Padrão:
"WARNING"
Valores Possíveis:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
stdout-loglevel
Esse parâmetro define o nível de informação que será mantido pelo logger básico que é iniciado durante a inicialização do ActorSystem. Esse logger imprime a mensagem de log para stdout (System.out). Os valores devem ser definidos entre aspas duplas.
Valor Padrão:
"INFO"
Valores Possíveis:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
loggers
Esse parâmetro define, entre colchetes, as entidades de logger que serão usadas para registro no tempo de boot.
Valor Padrão:
"akka.event.slf4j.Slf4jLogger"
logging-filter
Esse parâmetro define o filtro de eventos de log que será usado pelo LoggingAdaptar antes de publicar os eventos de log para o eventStream.
Valor Padrão:
"akka.event.slf4j.Slf4jLoggingFilter"
actor
guardian-supervisor-strategy
Esse parâmetro define a classe que será usada pelo guardião para obter seu supervisorStrategy
Valor Padrão:
"com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"
provider
Esse parâmetro define o ActorProvider que será usado.
Valor Padrão:
"cluster"
Valores Possíveis:
"local"
"remote"
"cluster"
serializers
Esse parâmetro define as entradas para os serializadores e suas ligações.
Os serializadores usados são:
kryo = io.altoo.akka.serialization.kryo.KryoSerializer
proto = akka.remote.serialization.ProtobufSerializer
E sua ligação é:
"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo
remote
artery
Esse parâmetro define a configuração para o Artery baseada no driver de transporte.
Valores padrões:
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
Esse parâmetro define os nós que se juntarão automaticamente na inicialização. Cada valor deve ser adicionado entre aspas duplas e separado por vírgulas dentro de colchetes.
Valor Exemplo:
["akka://main@<hostname1>:2551"]
roles
Esse parâmetro define as funções (roles) desse membro. Cada valor deve ser adicionado entre aspas duplas e separados por vírgulas dentro de colchetes.
Valor Padrão:
["manager"]
role.manager.min-nr-of-members
Esse parâmetro define o número mínimo de nós que devem estar ativos antes da inicialização do cluster.
Valor Padrão:
4
singleton.singleton-name
Esse parâmetro define o nome do ator do singleton filho.
Valor Padrão:
offsetmanager
singleton.hand-over-retry-interval
Quando um nó está começando a ser o mais velho, ele manda um pedido de repasse ao nó anteriormente mais velho, que deve estar saindo do cluster. Esse parâmetro define o tempo, em segundos, para tentar o reenvio do pedido até que o nó anteriormente mais velho confirme que o pedido de repasse começou ou que o membro anteriormente mais velho seja removido do cluster.
Valor Padrão:
1s
singleton.min-number-of-hand-over-retries
Esse parâmetro define o número mínimo de tentativas de reenviar o pedido de repasse para o nó anteriormente mais velho.
Valor Padrão:
15
singleton-proxy.singleton-name
Esse parâmetro define o nome do ator singleton que é inicializado pelo ClusterSingletonManager.
Valor Padrão:
${akka.cluster.singleton.singleton-name}
singleton-proxy.singleton-identification-interval
Esse parâmetro define o intervalo, em segundos, no qual o proxy tenta resolver a instância singleton.
Valor Padrão:
1s
singleton-proxy.buffer-size
Se a localização do singleton é desconhecida, o proxy irá armazenar a quantidade de mensagens definida nesse parâmetro em um buffer e as entregará quando o singleton for identificado. Quando o buffer estiver cheio, as mensagens mais antigas serão descartadas e as novas mensagens serão enviadas pelo proxy.
Valor Padrão:
1000
Valores Possíveis:
1
to10000
Parâmetros de Configuração
Essa seção descreve cada um dos parâmetros de configuração dos GBDS que podem ser listados no arquivo de configuração e como eles afetam a operação do sistema.
gbds.log.diagnose
Adiciona logs à fila do Kafka a cada atividade de consumo.
Valor Padrão:
true
gbds.cluster.kafka.task.topic
Esse parâmetro define o tópico do Kafka onde as tarefas serão alocadas.
Valor Padrão:
gbds-tasks
gbds.cluster.kafka.max-tasks-per-poll
Número de tarefas realizadas no kafka em cada busca. O consumo de tarefas no kafka é feito pesquisando a fila, e a pesquisa recupera um certo número de registros a cada vez. Cada registro é uma tarefa no GBDS. Essa configuração limita quantos registros são feitos em cada poll.
Valor Padrão:
1
Valores Possíveis:
1
to1000
gbds.cluster.zookeeper.quorum
Esse parâmetro define o hostname e a porta que os servers do zookeeper podem ser achados. Se mais de um valor estiver disponível, cada valor deve ser separado por vírgulas
Valor Padrão:
<hostname>:<port>
gbds.cluster.tasks.window-size-for-avoiding-duplicate-tasks
Esse parâmetro configura o tamanho da fila com as últimas N
tarefas processadas/em processamento. Se uma tarefa for duplicada para processamento e ainda estiver na fila, ela é ignorada.
Valor Padrão:
1000
gbds.cluster.kafka.quorum
Esse parâmetro define o endereço do Kafka broker e deve refletir nas configurações do Kafka.
Valor Padrão:
<hostname>:6667
gbds.node.matchers.start.parameters
Esse parâmetro define as configurações iniciais para os node matchers quando a aplicação estiver iniciando.
Valor Padrão:
"-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
Esse parâmetro define o timeout, em segundos, para inicializar cada ActorSystem remoto que irá rodar um matcher.
Valor Padrão:
30s
gbds.node.matchers.start.timeout
Esse parâmetro define o timeout, em segundos, para abrir um matcher no ActorSystem remoto.
Valor Padrão:
20s
gbds.node.matchers.number
Esse parâmetro define o número de matchers que será usado nesse nó do GBDS.
Caso os microsserviços de match estejam habilitados, 3 instâncias do microsserviço serão iniciadas para cada 1 definido nessa configuração.
Valor Padrão:
1
gbds.node.sinks.number
Esse parâmetro define o número de sinks que será usado nesse nó do GBDS.
Valor Padrão:
1
gbds.node.actor-start.timeout
Esse parâmetro define o timeout, em segundos, para inicialização de todos atores nesse nó do GBDS.
Valor Padrão:
60s
gbds.node.max-loaded-tasks
Esse parâmetro define o número máximo de tarefas que podem coexistir simultaneamente no GBDS. Quando esse número é alcançado, nenhuma tarefa será lida até alguma anterior ser enviada.
Valor Padrão:
100
Valores Possíveis:
1
a20000
gbds.node.wait-time-when-maxed-tasks:
Esse parâmetro define o tempo para esperar antes de ler mais tarefas do Kafka.
Valor Padrão:
1s
Valores Possíveis:
0s
a5s
gbds.node.hbase-template-loaders.number
Esse parâmetro define o número de template loaders do HBase.
Valor Padrão::
1
gbds.node.rdb-template-loaders.number
Esse parâmetro define o número de template loaders do RDB.
Valor Padrão::
1
gbds.biometric.fingerprint.cab.skip-non-cab
Esse parâmetro é uma flag para ignorar templates não-cab.
Valor Padrão::
true
gbds.matchers.metrics.enabled
Esse parâmetro habilita as métricas de matcher.
Valor Padrão::
true
gbds.biometric.face.identify.enabled
Esse parâmetro habilita a operação de identificação para faces.
Valor Padrão::
true
gbds.biometric.face.enroll.enabled
Esse parâmetro habilita cadastro de faces.
Valor Padrão::
true
gbds.biometric.fingerprint.cab.search-without-cab
Esse parâmetro é uma flag para realizar procuras sem cab.
Valor Padrão::
false
gbds.fingerprint.post-matching.enabled
Esse parâmetro habilita o post matching para digitais.
Valor Padrão::
true
gbds.face.post-matching.enabled
Esse parâmetro habilita o post matching para face.
Valor Padrão::
true
gbds.cluster.quorum.quorum-check-delay
Esse parâmetro define o atraso, em segundos, para realizar a decisão de Desligar um membro do cluster que esteja inalcançável ou removido.
O contador de atraso inicia e reinicia sempre que houver mudanças nos estados dos membros do cluster.
Valor Padrão:
5s
gbds.boot.completed-message-ack.timeout
Esse parâmetro define o quão longo, em segundos, o ator de inicialização (boot), aguardará o recebimento de um ack para a CompletedBootMessage de um NodeManager
Se o ack não for recebido, a mensagem será reenviada.
Valor Padrão:
3s
gbds.boot.people.node-nr-scanners
Número de atores de varredura paralela que varrerão pessoas registradas durante a inicialização do sistema em cada nó.
Valor Padrão:
1
gbds.boot.shuffler-message-ack.timeout
Quanto tempo o ator do shuffler esperará por um acknowledge. Caso o acknowledge não seja recebido, a mensagem será reenviada.
Valor Padrão:
90s
gbds.boot.scan.ignoreErrorsOnRegion
Determina se regiões do HBase com falha devem ser ignoradas durante o boot.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.boot.scan.ignoreErrorsOnRegion.maxTries
Define o número máximo de tentativas antes de ignorar uma região com falha no boot.
Valor Padrão:
5
gbds.boot.scan.maxRowsPerNode
Usando esta configuração, o GBDS irá parar o scan de pessoas em um nó assim que alcançar este número de linhas.
Valor Padrão:
0
gbds.boot.scan-delayer.rows
Define o número de linhas a serem escaneadas antes do delay.
Valor Padrão:
0
gbds.boot.scan-delayer.secs
Define o tempo de delay para aguardar a cada bloco de linhas escaneado.
Valor Padrão:
0
gbds.ul.boot.scan.enabled
Define se o boot de UL deve ser ignorado.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.boot.scan.ignoreErrorsOnRegion
Define se regiões ruins devem ser ignoradas durante o boot de UL.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.boot.matcher.creation.sleepTime.ms
Define o tempo de sleep entre a criação dos matchers.
Valor Padrão:
500
Valor Mínimo:
0
Valor Máximo:
30000
gbds.biometric.fingerprint.enabled
Esse parâmetro é usado para determinar se a digital é o objeto de busca prioritário.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.biometric.fingerprint.exception.enabled
Esse parâmetro define se as digitais devem ser consideradas na geração de exceções de cadastro (enrollment).
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.biometric.fingerprint.identify.threshold
Esse parâmetro define a pontuação mínima de coincidências para uma comparação de digitais ser considerada um casamento (match) durante a operação de busca.
Valor Padrão:
30
gbds.biometric.fingerprint.exception.threshold
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de digitais ser considerada um casamento (match) durante a operação de cadastro, gerando uma exceção.
Valor Padrão:
40
gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception
Esse parâmetro define o número mínimo de casamentos entre dedos necessário para gerar uma exceção durante uma operação de cadastro.
Valor Padrão:
2
gbds.biometric.fingerprint.cab.identify.threshold
Esse parâmetro define o limiar para casamentos usando a análise de CAB. Esse parâmetro não é usado se a verificação de CAB não está habilitada.
Valor Padrão:
5
gbds.biometric.fingerprint.latent.threshold
Esse parâmetro define a pontuação mínima para considerar uma busca de latente um casamento.
Valor Padrão:
10
gbds.biometric.fingerprint.identify.index.delta-zero
Esse parâmetro define o índice de configuração para Delta Zero. Os coeficientes Delta são usados para otimizar buscas.
Valor Padrão:
-1
(desabilitado)
gbds.biometric.fingerprint.identify.index.delta-one
Esse parâmetro define a o índice de configuração de Delta Um. Os coeficientes Delta são usados para otimizar buscas.
Valor Padrão:
-1
(desabilitado)
gbds.latent.candidates.max-number
Esse parâmetro define o tamanho máximo da lista de candidatos retornada em buscas de latentes.
Valor Padrão:
1000
gbds.biometric.palmprint.enabled
Esse parâmetro é usado para determinar se impressões palmares são objetos de busca primária.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.palmprint.exception.enabled
Esse parâmetro define se impressões palmares devem ser consideradas para gerar exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.palmprint.interdigital.identify.threshold
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre interdigitais de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
gbds.biometric.palmprint.thenar.identify.threshold
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre tenares de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
gbds.biometric.palmprint.hypothenar.identify.threshold
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre hipotenares de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
gbds.biometric.face.enabled
Esse parâmetro é usado para determinar se faces são usadas como objetos primários de busca.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.face.exception.enabled
Esse parâmetro define se imagens faciais devem ser consideradas na geração de exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.face.identify.threshold
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre faces ser considera um casamento durante uma operação de busca.
Valor Padrão:
60
gbds.biometric.face.exception.threshold
Esse parâmetro define o limiar que será usado quando comparando biometrias faciais durante a operação de identificação. Definir um valor alto para esse parâmetro pode, possivelmente, aumentar o número de ocorrências de falso negativo.
Valor Padrão:
60
gbds.biometric.face.exception.minimum.coincident-fingers.ignore.face
Esse parâmetro define o número mínimo de dedos coincidentes necessário para descartar o resultado da comparação de face na geração de uma exceção de cadastro (enroll).
Valor Padrão:
4
gbds.biometric.face.template.format
Define o formato do template para face.
Os valores possíveis são: TPT_FORMAT_1
ou TPT_FORMAT_2
.
Os formatos de face não são intercambiáveis. Faces que tiveram enroll feito em um formato não darão match com faces feitas em outro formato.
O valor dessa configuração deve ser o mesmo nos arquivos application.conf
e gbdsapi.properties
gbds.biometric.iris.enabled
Esse parâmetro é usado para determinar se a íris é definida como objeto primário de busca.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.iris.exception.enabled
Esse parâmetro define se a íris deve ser considera na geração de exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.iris.exception.threshold
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de íris ser considerada um casamento durante uma operação de cadastro, gerando uma exceção.
Valor Padrão:
62
gbds.biometric.iris.identify.threshold
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de íris ser considerada um casamento durante uma operação de busca.
Valor Padrão:
62
gbds.latent.reverse-latent-match.enabled
Esse parâmetro define se o cadastro e busca de latentes não resolvidas estão habilitados. É usado para aplicações forenses.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.latent.fingerprint.identify.threshold
Esse parâmetro define a pontuação mínima para considerar uma busca de impressão digital latente como casamento.
Valor Padrão:
12
gbds.latent.additional-search.enabled
Esse parâmetro define se buscas adicionais estão ativas para busca de latentes. Buscas adicionais realizarão uma comparação adicional para pares coincidentes entre um limiar definido.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.latent.additional-search.fingerprint.execution-lower-bound
Esse parâmetro define a pontuação mínima de coincidência para a qual buscas adicionais devem ser feitas.
Valor Padrão:
15
gbds.latent.additional-search.fingerprint.execution-upper-bound
Esse parâmetro define a pontuação máxima para a qual buscas adicionais devem ser feitas.
Valor Padrão:
120
gbds.latent.primary-classification.enabled
Esse parâmetro define se classificações primárias devem ser utilizadas para buscas de latentes.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.latent.primary-classification.same-class.fingerprint.threshold
Esse parâmetro define o limiar mínimo para comparar digitais da mesma classe e considerar um casamento durante buscas de latentes.
Valor Padrão:
15
gbds.latent.primary-classification.different-class.fingerprint.threshold
Esse parâmetro define o limiar mínimo para considerar um casamento entre classes diferentes de dedos durante buscas de latentes.
Valor Padrão:
40
gbds.latent.primary-classification.unknown-class.should-use-different-class-threshold
Esse parâmetro define se o limiar de coincidência de uma classe diferente deve ser usado para busca de latentes quando há uma classificação primária desconhecida.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.latent.ul.fingerprint.identify.threshold
Esse parâmetro define o limiar padrão para busca de latentes não resolvidas.
Valor Padrão:
4
gbds.latent.ul.palmprint.identify.threshold
Esse parâmetro define o limiar padrão para busca de latentes palmares não resolvidas.
Valor Padrão:
4
gbds.latent.postmatching.enabled
Esse parâmetro define se o postmatching está ativo para buscas reversas de latente, buscas regulares de latente e buscas contra latentes não resolvidas já registradas.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.rdb.driverClassName
Esse parâmetro define o nome de classe para o banco de dados relacional que será usado para armazenar as latentes não resolvidas. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"com.mysql.jdbc.Driver"
gbds.rdb.url
Esse parâmetro define a URL do banco de dados relacional a ser acessado. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"jdbc:mysql://<address>:<port>/gbds"
gbds.rdb.username
Esse parâmetro define o usuário a ser usado no banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"root"
gbds.rdb.password
Esse valor define a senha a ser usada para acessar o banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
gbds.rdb.dialect
Esse parâmetro define o dialeto a ser usado no banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"org.hibernate.dialect.MySQLDialect"
gbds.rdb.showSql
Esse parâmetro define se as declarações do SQL devem ser incluídas nos logs da aplicação.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.rdb.maxPoolSize
Esse parâmetro define o número máximo de conexões que uma pool irá manter.
Valor Padrão:
100
gbds.rdb.minPoolSize
Esse parâmetro define o número mínimo de conexões que uma pool irá manter.
Valor Padrão:
1
gbds.rdb.initialPoolSize
Esse parâmetro define o número de conexões que uma pool tentará adquirir na inicialização. Esse valor deve ser um valor entre gbds.rdb.minPoolSize e gbds.rdb.maxPoolSize.
Valor Padrão:
2
gbds.rdb.maxStatments
Esse parâmetro define o tamanho do cache global do PreparedStatement do c3p0. Se tanto o gbds.rdb.maxStatments e o gbds.rdb.maxStatementsPerConnection forem zero, o statement caching não será habilitado. Se o gbds.rdb.maxStatments for zero, mas gbds.rdb.maxStatementsPerConnection for diferente de zero, o statement caching será habilitado, mas nenhum limite global será forçado, apenas o máximo por conexão.
Esse parâmetro controla o número total de statements em cache para todas conexões. Se maior que zero, deve ser um número significativamente grande, pois cada conexão em pool requer seu próprio conjunto distinto de statements em cache. Como um guia, considere quantos PreparedStatements distintos são usados frequentemente em sua aplicação, então multiplique esse número por gbds.rdb.maxPoolSize para chegar a um valor apropriado.
Valor Padrão:
0
gbds.rdb.maxIdleTime
Esse parâmetro define, em segundos, quanto tempo a conexão pode ser agrupada, mas não utilizada antes de ser descartada. Zero significa que as conexões inativas nunca expiram.
Valor Padrão:
1800
gbds.rdb.maxConnectionAge
Esse parâmetro define, em segundos, o tempo de vida de uma conexão. Uma conexão anterior a gbds.rdb.maxConnectionAge será destruída e removida do pool. Isso difere de gbds.rdb.maxIdleTime porque se refere à idade absoluta. Mesmo uma conexão que não esteve muito ociosa será removida do pool se exceder gbds.rdb.maxConnectionAge. Zero significa que nenhuma idade máxima absoluta é aplicada.
Valor Padrão:
1800
gbds.rdb.statementCacheNumDeferredCloseThreads
Se configurado com um valor maior que 0, o statement cache rastreará quando as conexões estiverem em uso e apenas destruirá os statements quando suas Conexões-pai não estiverem em uso. Embora o fechamento de um statement enquanto a conexão-pai está em uso esteja formalmente dentro das especificações, alguns bancos de dados e/ou drivers JDBC, mais notavelmente Oracle, não lidam bem com o caso e congelam, levando a deadlocks. Definir este parâmetro com um valor positivo deve eliminar o problema. Este parâmetro só deve ser definido se você observar que as tentativas de c3p0 para fechar (close()) os statements armazenadas em cache congelam (normalmente, você verá DEADLOCKS APARENTES em seus logs). Se definido, este parâmetro deve quase sempre ser definido como 1.
Valor Padrão:
1
gbds.rdb.acquireIncrement
Determina quantas conexões por vez c3p0 tentará adquirir quando o pool se esgotar.
Valor Padrão:
10
gbds.rdb.testConnectionOnCheckout
Se true, uma operação será executada em cada verificação de conexão para checar se a conexão é válida. Testar conexões em checkout é a forma mais simples e confiável de teste de conexão, mas para melhor desempenho, considere verificar as conexões periodicamente usando gbds.rdb.idleConnectionTestPeriod.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.rdb.testConnectionOnCheckin
Se true, uma operação será executada de forma assíncrona em cada entrada de conexão para verificar se a conexão é válida. Use em combinação com gbds.rdb.idleConnectionTestPeriod para um teste de conexão sempre assíncrono e bastante confiável.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.rdb.acquireRetryAttempts
Define quantas vezes c3p0 tentará adquirir uma nova conexão do banco de dados antes de desistir. Se este valor for menor ou igual a zero, c3p0 continuará tentando buscar uma conexão indefinidamente.
Valor Padrão:
10
gbds.rdb.idleConnectionTestPeriod
Se esse número for maior que 0, c3p0 irá testar todas as conexões ociosas, na pool, mas não verificadas, a cada quantidade de segundos definida nesse parâmetro.
Valor Padrão:
30
gbds.biometric.newborn-palmprint.enabled
Esse parâmetro é usado para determinar se a palmar de recém-nascidos é o objeto de busca prioritário.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.newborn-palmprint.exception.enabled
Esse parâmetro define se a palmar de recém-nascidos deve ser considerada na geração de exceções de cadastro (enrollment).
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.newborn-palmprint.identify.threshold
Esse parâmetro define a pontuação mínima de coincidências para uma comparação de palmar de recém-nascidos ser considerada um casamento (match) durante a operação de busca.
Valor Padrão:
50
gbds.cluster.recovery.qtd.scanners
Número de scanner para recuperação de cluster.
Valor Padrão::
5
gbds.cluster.recovery.qtd.getters
Número de getters para recuperação de cluster. Esse parâmetro não é mais usado na versão 3.2x ou acima.
Valor Padrão::
2
gbds.cluster.recovery.shuffler.block.window.size
Número do tamanho da janela do bloco do shuffler (tamanho do buffer do shuffler) para recuperação do cluster.
Valor Padrão::
100
gbds.router.virtual-nodes.number
Esse parâmetro define o número de nodos virtuais.
Valor Padrão::
100
gbds.biometric.best-of-biometrics.enabled
Esse parâmetro habilita o best-of-biometrics. Quando habilitado, o conjunto de biometrias da pessoa é a consolidação das melhores biometrias obtidas de todas as transações da pessoa ao longo do tempo.
Essa flag DEVE ter o mesmo valor nas configurações do GBDS e da API do GBDS.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.biometric.remove-inactive-people-from-enroll-result
Este parâmetro define se perfis inativos devem ser removidos dos resultados de enroll.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.transparency.search.identify.result.notify.enabled
Este parâmetro habilita o serviço de notificação por email, que envia as notificações de resultados de pesquisa com pessoas de interesse.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.searches.verify.saveOnRdb.enabled
Define se a operação de verificação será salva na tabela gbds.transaction
do RDB.
Valor Padrão:
true
Valores Possíveis:
true
false
Esse valor deve ser o mesmo no application.conf
e no gbdsapi.properties
gbds.searches.identify.saveOnRdb.enabled
Define se a operação de identificação será salva na tabela gbds.transaction
do RDB.
Valor Padrão:
true
Valores Possíveis:
true
false
Esse valor deve ser o mesmo no application.conf
e no gbdsapi.properties
gbds.monitor.port
Define a porta em que será executado o GBDS Monitor.
Valor Padrão:
9100
gbds.memory-monitor
Adiciona aos logs o uso de memória da JVM a cada 10 segundos.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.watchdog.interval
Define, em minutos, o intervalo de tempo para os logs de watchdog.
Valor Padrão:
1
Valor Máximo:
60
gbds.watchdog.log.mode
Define o modo de log do watchdog.
Valor Padrão:
TGUID_MATCHER_MAP
Valores Possíveis:
TGUID_MATCHER_MAP
MATCHER_TGUID_MAP
gbds.watchdog.log.level
Define o level de log do watchdog.
Valor Padrão:
DEBUG
Valores Possíveis:
DEBUG
INFO
gbds.verifyPostMatch.enabled
Liga ou desliga a verificação pós-match em transações de cadastro com exceções.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.search.verify.adjust-resolution
Quando essa configuração está ativada, verificações e atualizações na API e a verificação pós-match no GBDS ajustarão a resolução realizando uma verificação de correspondência, diminuindo a pontuação em dedos e palmas.
Valor Padrão:
true
Valores Possíveis:
true
false
gbscluster.update.consider.fingerprints
Esse parâmetro define se digitais devem ser consideradas ao gerar exceções de atualização.
Valor Padrão:
true
Possible values:
true
false
gbscluster.update.consider.faces
Esse parâmetro define se imagens de face devem ser consideradas ao gerar exceções de atualização.
Valor Padrão:
false
Possible values:
true
false
gbscluster.update.consider.faces.beforeFingerprints
Esse parâmetro define se as faces devem ser analisadas antes das impressões digitais ao gerar exceções de atualização. Se false
, a análise de face é feita após a análise da impressão digital.
Valor Padrão:
false
Valores Possíveis:
true
false
gbscluster.update.faces.verify.matchthreshold
Esse parâmetro define o limiar a ser usado durante a comparação de biometrias faciais em operações de busca. Definir um valor alto para esse parâmetro pode, possivelmente, resultar em um aumento de ocorrências de falsos negativos.
Valor Padrão:
60
gbscluster.update.minimum.fingers
Esse parâmetro define o número mínimo de casamentos entre dedos necessário para uma operação de atualização ser aceita.
Valor Padrão:
4
Configuração do Serializador de Templates
Essa seção descreve os parâmetros de configuração relacionados ao serializador de templates. Esses parâmetros de configuração são projetados para permitir o uso do GBDS Batch Extractor.
Sempre que o GBDS realizar uma operação de cold boot, ele tentará recuperar os templates de uma família de colunas padrão. Se o template não existir nessa coluna, o GBDS tentará recuperá-lo da família de colunas de reserva.
Os parâmetros de configuração do serializador são:
Família de Colunas Padrão
Esses parâmetros são divididos por modalidades biométricas. Os templates nessa família de colunas não possuem codificação e o formato usado é de 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
O valor padrão para esses parâmetros é tpt
.
Família de Colunas Reserva
Esses parâmetros referem-se às famílias de colunas anteriormente usadas para armazenar os templates biométricos. São separados por modalidade biométrica.
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
Os valores padrão representam as famílias de colunas usadas antes da mudança desses parâmetros, e são, respectivamente: fingerprints
, palmprints
, faces
e iris
.
Codificação Reserva em base64
A família de colunas reserva suporta codificação. Os parâmetros a seguir definem se a família de colunas é codificada em base64:
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
O valor padrão para esses parâmetros é true
.
gbds.template.memory.format
Define como o GBDS irá armazenas os templates na memória e nos matchers.
As opções são:
DESERIALIZED_FULL
: Opção padrão. Os templates são armazenados deserializados com minúcias e segmentações.SERIALIZED_MINUTIAE_SEGMENTS
: Os templates são armazenados deserializados com minúcias e segmentações.SERIALIZED_MINUTIAE
: Os templates são armazenados serializados somente com minúcias. As segmentações são re-extraídas do template a cada busca feita. Essa opção aumenta o tempo de procuras 1:N.OPTIMIZED
: Usa um novo formato otimizado de template para reduzir degradação de desempenho ao longo do tempo em buscas.
Pré-alocação de memória
Define a quantidade de memória pré-alocada para cada modalidade.
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
O valor padrão para cada configuração é 0
. O sistema entende Kilobytes (k
, kb
), Megabytes (m
, mb
) e Gigabytes (g
, gb
), sem distinção de maiúsculas de minúsculas. O valor é dividido igualmente entre todos os matchers do nó.
Microsserviços de Match
Esta seção apresenta os parâmetros de configuração referentes aos microsserviços de match.
A configuração dos microsserviços é única para cada nó do cluster.
gbds.match.service.enabled
Define se o microsserviço de match está habilitado.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.match.service.initialPort
Define a porta inicial para iniciar os serviços de match no nó.
Valor Padrão:
32000
gbds.match.service.logLevel
Define o nível de log do serviço de match no GBDS. Os diferentes níveis de log são:
NONE
: Não gera logs sobre o serviçoINFO
: Loga os scripts e as URLs de requestTIME
: Loga os scripts, as URLs de request e o tempo de execuçãoDEBUG
: Loga todas as informações do serviço
Valor Padrão:
NONE
Valores Possíveis
INFO
TIME
DEBUG
gbds.match.service.timeout
Define o timeout máximo para requests ao microsserviço de match, em milissegundos.
Valor Padrão:
10000
gbds.match.service.templateSend.parallelByModality
Habilita o processamento paralelo por modalidade biométrica no GBDS.
Valor Padrão:
true
Valores Possíveis:
true
false
gbds.match.service.linkLibSegfault
Este parâmetro habilita o rastreamento de falhas de segmentação no microsserviço de match.
Valor Padrão:
false
Valores Possíveis:
true
false
gbds.match.service.maxTries
Quando um microsserviço de match tem um erro de conexão, tenta 3 vezes antes de falhar a transação, esperando 2s entre as tentativas.
Valor Padrão:
3
gbds.match.service.maxConnectionErrors
Quando um microsserviço de match tem 5 transações com erro de conexão seguidas, para o GBDS para prevenir falhas em todas as transações a partir desse ponto.
Valor Padrão:
5
gbds.match.service.checkTimeoutSecs
Timeout (em segundos) para verificar se o microsserviço de match foi criado.
Valor Padrão:
10
Atualizado