blob: 543b8b12b29db8550d7e63c17b153f4ca1ca56fe [file] [log] [blame]
###############################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
###############################################################################
##
## Default System Configuration Properties
##
#Name of the local properties file - used when running with the
#hadoop jar command
local.pirk.properties.dir=/root/
##
##Spark path for SparkLauncher
##
spark.home = /usr
##
## Data schema properties
##
## Each data schema should be specified in an xml file of the form:
##
##<schema>
## <schemaName> name of the schema </schemaName>
## <element>
## <name> element name </name>
## <type> class name or type name (if Java primitive type) of the element </type>
## <isArray> true or false -- whether or not the schema element is an array within the data </isArray>
## <partitioner> optional - Partitioner class for the element; defaults to primitive java type partitioner </partitioner>
## </element>
## </schema>
##
## Primitive Java types must be one of the following: "byte", "short", "int", "long", "float",
## "double", "char", "string", "boolean"
##
#Comma separated list of local data schema files to load, fully qualified file names
data.schemas = none
##
## Query schema properties
##
## Each query schema should be specified in an xml file of the form;
## all items are treated in a case insensitive manner:
##
##<schema>
## <schemaName> name of the schema </schemaName>
## <dataSchemaName> name of the data schema over which this query is run </dataSchemaName>
## <selectorName> name of the element in the data schema that will be the selector </selectorName>
## <elements>
## <name> element name of element in the data schema to include in the query response </name>
## </elements>
## <filter> (optional) name of the filter class to use to filter the data </filter>
## <filterNames>
## <name> (optional) element name of element in the data schema to apply pre-processing filters </name>
## </filterNames>
## <additional> (optional) additional fields for the query schema, in <key,value> pairs
## <field>
## <key> key corresponding the the field </key>
## <value> value corresponding to the field </value>
## </field>
## </additional>
## </schema>
##
##
#Comma separated list of local query schema files to load, fully qualified file names
query.schemas = none
##
##Properties for ElasticSearch compatibility
##
#ES host address - One Elasticsearch node in the cluster - may include port specification
es.nodes=none
#Default HTTP/REST port used for connecting to Elasticsearch
es.port=9200
#Number of results/items returned by each individual scroll
es.scroll.size = 1000
#Whether elasticsearch-hadoop will treat empty fields as null
es.field.read.empty.as.null=yes
##
##Properties for functional testing
##
#Test index to create in ES (created and deleted within the tests)
#Need final form to be: <host>:<port>/<test.esTestIndex>
test.es.index = testindex
#Type of elements to insert in ES
test.es.type = pkt
#Elasticsearch resource - Elasticsearch resource location where data is read and written to.
#Requires the format <index>/<type>
test.es.resource= /testindex/pkt
#Pathname in hdfs to place input JSON file testing
test.inputJSONFile = /tmp/testJSONInput
#Pathname in hdfs to place output file for testing
test.outputHDFSFile = /tmp/testOutput
#Query input dir in hdfs for testing
test.queryInputDir = none
#Test stoplist file
test.stopListFile = /tmp/testStopListFile
#Whether or not we are running PIR testing (used as a flag to dump intermediate RDDs for checking)
#This should default to false; it is changed to true in the test suite, as applicable
pir.test = false
#HDFS output dir for PIR intermediate testing
#Should default to none; changed to a real hdfs path in the test suite, as applicable
pir.testOut = none
##
## Properties to enable/disable JNA-GMP modPow acceleration for Paillier
##
paillier.useGMPForModPow = true
# The JNA-GMP library we use to invoke the much faster, natively compiled GMP
# can be called in a way that tries to make all modPow calls take a constant amount
# of time to execute. This will slow down the modPow performance (still better than
# Java's BigInteger.modPow() ).
# If you are using this package in a multi-tenant computing environment and have
# concerns about other tenants being able to closely inspect the runtime of your
# software, you may want to enable this property.
paillier.GMPConstantTimeMode = false
# This property controls the more rigorous prime generation checks in PrimeMaker.java
# which are based on FIPS SP 800-56B and FIPS 186-4 (extra Miller-Rabin rounds, limits
# on how close the primes p and q can be, and bounds on the values of the primes)
# These checks slow down prime generation considerably
pallier.FIPSPrimeGenerationChecks = true
## These properties control the secure random number generator algorithm and provider.
## You can specify just the algorithm, or both algorithm and provider. The system's
## default secure random is used when the algorithm is left unspecified.
pallier.secureRandom.algorithm=NativePRNG
#pallier.secureRandom.provider=SUN
##
## Properties for PIR query and response
##
#Number of bits to return when encoding/returning string values as part of return data elements
pir.stringBits = 64
#Number of array elements to return when encoding/returning array valued elements
pir.numReturnArrayElements = 2
#Default prime certainty
pir.primeCertainty = 128
#Fully qualified dir in hdfs of Query files
pir.queryInput = none
#Data input format type -- 'base' or 'elasticsearch' (given in InputFormatsConst class)
pir.dataInputFormat = base
#Fully qualified name of input file/directory in hdfs; used if pir.dataInputFormat = base
pir.inputData = none
#Inputformat for 'base' data input format type -- must extend BaseInputFormat
pir.baseInputFormat = none
#ElasticSearch-like query if using 'base' input format
pir.baseQuery = none
#ES resource for input data
pir.esResource = null
#ES query for input data
pir.esQuery = none
#Fully qualified name of output file in hdfs
pir.outputFile = none
#Fully qualified dir in hdfs of file containing stoplist terms
pir.stopListFile = stopListFile
#Number of reduce tasks
pir.numReduceTasks = 100
#Whether or not to use the local cache during PIR computations
pir.useLocalCache = true
#Whether or not to limit the hits for each query term
pir.limitHitsPerSelector = true
#Number of hits to limit for each query term, if pir.limitHitsPerSelector = true
pir.maxHitsPerSelector = 100
#Whether or not to embed the selector in the results for false positive reduction
pir.embedSelector = true
#Whether or not to generate and use the HDFS modular exponentiation lookup table
pir.useHDFSLookupTable = false
#Number of partitions to coalesce the input data into in Spark
pir.numDataPartitions = 1500
#Mapreduce memory options
mapreduce.map.memory.mb = 3000
mapreduce.reduce.memory.mb = 3000
mapreduce.map.java.opts = -Xmx2800m
mapreduce.reduce.java.opts = -Xmx2800m
#HDFS directory for the expLookupTable
pir.expDir = none
#Parallelism for expLookupTable creation in hdfs
pir.expCreationSplits = 600