1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18 package org.apache.giraph.zk;
19
20 import java.net.InetSocketAddress;
21
22 /**
23 * Zookeeper configuration file.
24 * Originally copied from zookeeper sources to allow
25 * modification on the fly instead of reading from disk.
26 */
27 public class ZookeeperConfig {
28
29 /** Zookeeper server address */
30 private InetSocketAddress clientPortAddress;
31 /** Snapshot log dir */
32 private String dataDir;
33 /** Transaction log dir */
34 private String dataLogDir;
35 /** minimum session timeout in milliseconds */
36 private int minSessionTimeout = -1;
37 /** maximum session timeout in milliseconds */
38 private int maxSessionTimeout = -1;
39 /**
40 * Get zookeeper server address
41 * @return zookeeper server address
42 */
43 public InetSocketAddress getClientPortAddress() { return clientPortAddress; }
44
45 /**
46 * Snapshot dir
47 * @return snapshot dir path
48 */
49 public String getDataDir() { return dataDir; }
50
51 /**
52 * Transaction dir
53 * @return transaction dir path
54 */
55 public String getDataLogDir() {
56 if (dataLogDir == null) {
57 return dataDir;
58 }
59 return dataLogDir;
60 }
61 /**
62 * Minimum session timeout in milliseconds.
63 * @return Minimum session time.
64 */
65 public int getMinSessionTimeout() { return minSessionTimeout; }
66
67 /**
68 * Maximum session timeout in milliseconds.
69 *
70 * @return Maximum session time.
71 */
72 public int getMaxSessionTimeout() { return maxSessionTimeout; }
73
74 /**
75 * Set snapshot log dir
76 * @param dataDir snapshot log dir path
77 */
78 public void setDataDir(String dataDir) {
79 this.dataDir = dataDir;
80 }
81
82 /**
83 * Transaction log dir
84 * @param dataLogDir transaction log dir path
85 */
86 public void setDataLogDir(String dataLogDir) {
87 this.dataLogDir = dataLogDir;
88 }
89
90 /**
91 * Set zookeeper server address
92 * @param clientPortAddress server address
93 */
94 public void setClientPortAddress(InetSocketAddress clientPortAddress) {
95 this.clientPortAddress = clientPortAddress;
96 }
97
98 /**
99 * Set minimum session timeout in milliseconds
100 * @param minSessionTimeout min session timeout
101 */
102 public void setMinSessionTimeout(int minSessionTimeout) {
103 this.minSessionTimeout = minSessionTimeout;
104 }
105 /**
106 * Set maximum session timeout in milliseconds
107 * @param maxSessionTimeout max session timeout
108 */
109 public void setMaxSessionTimeout(int maxSessionTimeout) {
110 this.maxSessionTimeout = maxSessionTimeout;
111 }
112
113 }