diff --git a/build.properties b/build.properties
index 7a15e03bc..3cc72ff81 100644
--- a/build.properties
+++ b/build.properties
@@ -3,7 +3,7 @@ javacSource=1.4
javacTarget=1.4
# Release Configuration
-releaseVersion=0.381
+releaseVersion=0.382
releaseFile=yacy_dev_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz
#releaseFile=yacy_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz
releaseDir=yacy_dev_v${releaseVersion}_${DSTAMP}_${releaseNr}
diff --git a/htroot/Status.html b/htroot/Status.html
index dcb6929cb..cf3c510f9 100644
--- a/htroot/Status.html
+++ b/htroot/Status.html
@@ -107,12 +107,14 @@ you must switch off the proxy to go off-line.
#(/omode)#
Memory Usage |
-free: #[freeMemory]# | total: #[totalMemory]# | max: #[maxMemory]#
+
|
-
Traffic |
In: #[trafficIn]# | Out: #[trafficOut]#
|
+System Resources |
+processors: #[processors]#
+ |
diff --git a/htroot/Status.java b/htroot/Status.java
index 5b3add157..a0bb01324 100644
--- a/htroot/Status.java
+++ b/htroot/Status.java
@@ -56,47 +56,47 @@ import de.anomic.yacy.yacyCore;
public class Status {
public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {
- // return variable that accumulates replacements
- serverObjects prop = new serverObjects();
-
- // set values
- String s;
- int pos;
-
- /*
- versionProbe=http://www.anomic.de/AnomicHTTPProxy/release.txt
- superseedFile=superseed.txt
- */
+ // return variable that accumulates replacements
+ serverObjects prop = new serverObjects();
+
+ // set values
+ String s;
+ int pos;
+
+ /*
+ versionProbe=http://www.anomic.de/AnomicHTTPProxy/release.txt
+ superseedFile=superseed.txt
+ */
// update seed info
yacyCore.peerActions.updateMySeed();
-
- // password protection
- if (env.getConfig("adminAccountBase64MD5", "").length() == 0)
- prop.put("protection", 0);//not protected
- else
- prop.put("protection", 1);//protected
-
- // version information
- if ((yacyCore.latestVersion == null) || (yacyCore.latestVersion.length() < 3) || (yacyCore.latestVersion.equals(env.getConfig("version",""))))
- prop.put("versioncomment", 0);//no commet
- else
- prop.put("versioncomment", 1);//new version
- prop.put("versioncomment_latestVersion", yacyCore.latestVersion);
-
- prop.put("host", serverCore.publicIP());
- prop.put("port", env.getConfig("port", ""));
- if (env.getConfig("remoteProxyUse", "false").equals("true")) {
- prop.put("remoteProxy", 1);
- prop.put("remoteProxy_host", env.getConfig("remoteProxyHost", ""));
- prop.put("remoteProxy_port", env.getConfig("remoteProxyPort", ""));
- } else {
- prop.put("remoteProxy", 0);//not used
- }
-
- // peer information
- String thisHash = "";
- String thisName = env.getConfig("peerName", "");
- if (yacyCore.seedDB.mySeed == null) {
+
+ // password protection
+ if (env.getConfig("adminAccountBase64MD5", "").length() == 0)
+ prop.put("protection", 0);//not protected
+ else
+ prop.put("protection", 1);//protected
+
+ // version information
+ if ((yacyCore.latestVersion == null) || (yacyCore.latestVersion.length() < 3) || (yacyCore.latestVersion.equals(env.getConfig("version",""))))
+ prop.put("versioncomment", 0);//no commet
+ else
+ prop.put("versioncomment", 1);//new version
+ prop.put("versioncomment_latestVersion", yacyCore.latestVersion);
+
+ prop.put("host", serverCore.publicIP());
+ prop.put("port", env.getConfig("port", ""));
+ if (env.getConfig("remoteProxyUse", "false").equals("true")) {
+ prop.put("remoteProxy", 1);
+ prop.put("remoteProxy_host", env.getConfig("remoteProxyHost", ""));
+ prop.put("remoteProxy_port", env.getConfig("remoteProxyPort", ""));
+ } else {
+ prop.put("remoteProxy", 0);//not used
+ }
+
+ // peer information
+ String thisHash = "";
+ String thisName = env.getConfig("peerName", "");
+ if (yacyCore.seedDB.mySeed == null) {
thisHash = "not assigned";
prop.put("peerAddress", 0);//not assigned
prop.put("peerStatistics", 0);//unknown
@@ -120,66 +120,69 @@ public class Status {
prop.put("peerAddress_peername", env.getConfig("peerName", "").toLowerCase());
}
}
- String peerStatus = ((yacyCore.seedDB.mySeed == null) ? "virgin" : yacyCore.seedDB.mySeed.get("PeerType", "virgin"));
- if (peerStatus.equals("virgin")) {
- prop.put("peerStatus", 0);//virgin
- } else if (peerStatus.equals("junior")) {
- prop.put("peerStatus", 1);//junior
- } else if (peerStatus.equals("senior")) {
- prop.put("peerStatus", 2);//senior
- } else if (peerStatus.equals("principal")) {
- prop.put("peerStatus", 3);//principal
- prop.put("peerStatus_seedURL", yacyCore.seedDB.mySeed.get("seedURL", "?"));
- }
- prop.put("peerName", thisName);
- prop.put("hash", thisHash);
- if ((env.getConfig("seedFTPServer","").length() != 0) &&
- (env.getConfig("seedFTPAccount","").length() != 0) &&
- (env.getConfig("seedFTPPassword","").length() != 0) &&
- (env.getConfig("seedFTPPath","").length() != 0)) {
- prop.put("seedServer", 1);//enabled
- prop.put("seedServer_seedFTPServer", env.getConfig("seedFTPServer",""));
- } else {
- prop.put("seedServer", 0);//disabled
- }
-
- if ((yacyCore.seedDB != null) && (yacyCore.seedDB.sizeConnected() > 0)){
- prop.put("otherPeers", 1);
- prop.put("otherPeers_num", yacyCore.seedDB.sizeConnected());
- }else{
- prop.put("otherPeers", 0);//not online
- }
-
- // pop-up trigger management
- if (post != null) {
- if (post.containsKey("dispop")) env.setConfig("browserPopUpTrigger", "false");
- if (post.containsKey("enpop")) env.setConfig("browserPopUpTrigger", "true");
- }
-
- if (env.getConfig("browserPopUpTrigger", "false").equals("false")) {
- prop.put("popup", 0);
- } else {
- prop.put("popup", 1);
- }
-
- if (env.getConfig("onlineMode", "1").equals("1")) {
- prop.put("omode", 1);
- } else {
- prop.put("omode", 2);
- }
+ String peerStatus = ((yacyCore.seedDB.mySeed == null) ? "virgin" : yacyCore.seedDB.mySeed.get("PeerType", "virgin"));
+ if (peerStatus.equals("virgin")) {
+ prop.put("peerStatus", 0);//virgin
+ } else if (peerStatus.equals("junior")) {
+ prop.put("peerStatus", 1);//junior
+ } else if (peerStatus.equals("senior")) {
+ prop.put("peerStatus", 2);//senior
+ } else if (peerStatus.equals("principal")) {
+ prop.put("peerStatus", 3);//principal
+ prop.put("peerStatus_seedURL", yacyCore.seedDB.mySeed.get("seedURL", "?"));
+ }
+ prop.put("peerName", thisName);
+ prop.put("hash", thisHash);
+ if ((env.getConfig("seedFTPServer","").length() != 0) &&
+ (env.getConfig("seedFTPAccount","").length() != 0) &&
+ (env.getConfig("seedFTPPassword","").length() != 0) &&
+ (env.getConfig("seedFTPPath","").length() != 0)) {
+ prop.put("seedServer", 1);//enabled
+ prop.put("seedServer_seedFTPServer", env.getConfig("seedFTPServer",""));
+ } else {
+ prop.put("seedServer", 0);//disabled
+ }
+
+ if ((yacyCore.seedDB != null) && (yacyCore.seedDB.sizeConnected() > 0)){
+ prop.put("otherPeers", 1);
+ prop.put("otherPeers_num", yacyCore.seedDB.sizeConnected());
+ }else{
+ prop.put("otherPeers", 0);//not online
+ }
+
+ Runtime rt = Runtime.getRuntime();
- // memory usage
- Runtime rt = Runtime.getRuntime();
- prop.put("freeMemory", bytesToString(rt.freeMemory()));
- prop.put("totalMemory", bytesToString(rt.totalMemory()));
- prop.put("maxMemory", bytesToString(rt.maxMemory()));
-
- // proxy traffic
- prop.put("trafficIn",bytesToString(httpdByteCountInputStream.getGlobalCount()));
- prop.put("trafficOut",bytesToString(httpdByteCountOutputStream.getGlobalCount()));
-
- // return rewrite properties
- return prop;
+ // pop-up trigger management and gc
+ if (post != null) {
+ if (post.containsKey("dispop")) env.setConfig("browserPopUpTrigger", "false");
+ if (post.containsKey("enpop")) env.setConfig("browserPopUpTrigger", "true");
+ if (post.containsKey("gc")) rt.gc();
+ }
+
+ if (env.getConfig("browserPopUpTrigger", "false").equals("false")) {
+ prop.put("popup", 0);
+ } else {
+ prop.put("popup", 1);
+ }
+
+ if (env.getConfig("onlineMode", "1").equals("1")) {
+ prop.put("omode", 1);
+ } else {
+ prop.put("omode", 2);
+ }
+
+ // memory usage and system attributes
+ prop.put("freeMemory", bytesToString(rt.freeMemory()));
+ prop.put("totalMemory", bytesToString(rt.totalMemory()));
+ prop.put("maxMemory", bytesToString(rt.maxMemory()));
+ prop.put("processors", rt.availableProcessors());
+
+ // proxy traffic
+ prop.put("trafficIn",bytesToString(httpdByteCountInputStream.getGlobalCount()));
+ prop.put("trafficOut",bytesToString(httpdByteCountOutputStream.getGlobalCount()));
+
+ // return rewrite properties
+ return prop;
}
public static String intervalToString(String minsAsString)
diff --git a/source/yacy.java b/source/yacy.java
index d53a51ecd..aaf74da9e 100644
--- a/source/yacy.java
+++ b/source/yacy.java
@@ -469,10 +469,14 @@ public final class yacy {
}
private static void checkMigrate(File dbroot, serverLog log, File file, plasmaWordIndex wordIndex) throws IOException {
+ long length = file.length();
+ if (length > 3000) {
+ log.logInfo("SKIPPED " + file.toString() + ": too big, size=" + (length / 1024) + "kb");
+ return;
+ }
kelondroTree db = new kelondroTree(file, 0);
String wordhash = file.getName().substring(0, 12);
int size = db.size();
- long length = file.length();
db.close();
if (size <= 50) {
plasmaWordIndexEntryContainer container = new plasmaWordIndexEntryContainer(wordhash);