├── .gitattributes ├── .gitignore ├── .project ├── .pydevproject ├── .settings ├── org.eclipse.core.resources.prefs ├── org.erlide.core.prefs └── org.erlide.model.prefs ├── .travis.yml ├── AUTHORS ├── ChangeLog ├── Doxyfile ├── Emakefile.in ├── LICENSE ├── Makefile.in ├── README.md ├── VERSION ├── bin ├── .gitignore ├── find_erlang.bat ├── firstnode.bat ├── firstnode.sh ├── joining_node.bat ├── joining_node.sh ├── jsonclient.in ├── mgmt-server.sh ├── quorum_node.sh ├── scalaris.cfg ├── scalaris.local.cfg.example ├── scalaris.local.ssl.bad.cfg ├── scalaris.local.ssl.cfg ├── scalaris.local.ssl.good.cfg ├── scalarisctl.conf ├── scalarisctl.in ├── setup-ring-for-benchmarks.sh ├── setup-ring.sh └── slurmctl ├── bootstrap.sh ├── build-aux ├── compile ├── config.guess ├── config.sub ├── install-sh └── missing ├── build.bat ├── configure ├── configure.ac ├── contrib ├── .gitignore ├── 4caast │ ├── blueprints │ │ ├── Scalaris-v01.xml │ │ ├── Scalaris-v02.xml │ │ ├── Scalaris-v03.xml │ │ ├── WikiOnScalaris-v01.xml │ │ ├── WikiOnScalaris-v02.xml │ │ └── WikiOnScalaris-v03.xml │ └── monitoring │ │ ├── README │ │ ├── probe-config.wiki.xml │ │ └── probe-config.xml ├── benchmark │ ├── bench_tt │ ├── clean.sh │ ├── cluster_run.pl │ ├── latex.rb │ ├── main.tex.erb │ ├── plot.gnuplot.erb │ ├── plotall.gnuplot.erb │ ├── run_local_bench.sh │ └── simple.run ├── chef │ ├── apt │ │ ├── README.md │ │ ├── TODO.org │ │ ├── files │ │ │ └── default │ │ │ │ ├── apt-cacher │ │ │ │ ├── apt-cacher.conf │ │ │ │ └── apt-proxy-v2.conf │ │ ├── metadata.json │ │ ├── metadata.rb │ │ ├── providers │ │ │ └── repository.rb │ │ ├── recipes │ │ │ ├── cacher-client.rb │ │ │ ├── cacher.rb │ │ │ └── default.rb │ │ └── resources │ │ │ └── repository.rb │ └── scalaris_PIC │ │ ├── attributes │ │ └── default.rb │ │ ├── metadata.rb │ │ ├── recipes │ │ ├── Deploy_PIC.rb │ │ ├── Start_PIC.rb │ │ ├── Stop_PIC.rb │ │ └── Undeploy_PIC.rb │ │ └── templates │ │ └── default │ │ ├── initd.conf.erb │ │ └── scalaris.local.cfg.erb ├── datanucleus │ ├── .gitignore │ ├── scalaris-datanucleus-store-test │ │ ├── .classpath │ │ ├── .settings │ │ │ ├── org.eclipse.core.resources.prefs │ │ │ ├── org.eclipse.jdt.core.prefs │ │ │ └── org.eclipse.m2e.core.prefs │ │ ├── LICENSE.txt │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── de │ │ │ │ │ └── zib │ │ │ │ │ └── scalaris │ │ │ │ │ └── datanucleus │ │ │ │ │ └── store │ │ │ │ │ └── test │ │ │ │ │ ├── Author.java │ │ │ │ │ ├── Book.java │ │ │ │ │ ├── Inventory.java │ │ │ │ │ └── Product.java │ │ │ └── resources │ │ │ │ ├── META-INF │ │ │ │ └── persistence.xml │ │ │ │ ├── log4j.properties │ │ │ │ └── package-excel.orm │ │ │ └── test │ │ │ └── java │ │ │ └── de │ │ │ └── zib │ │ │ └── scalaris │ │ │ └── datanucleus │ │ │ └── store │ │ │ └── test │ │ │ ├── ScalarisStoreTests.java │ │ │ ├── StoreUtils.java │ │ │ ├── TestScalarisQuery.java │ │ │ └── TestScalarisStorage.java │ └── scalaris-datanucleus-store │ │ ├── .classpath │ │ ├── .settings │ │ ├── org.eclipse.core.resources.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ ├── org.eclipse.jdt.ui.prefs │ │ └── org.eclipse.m2e.core.prefs │ │ ├── License.txt │ │ ├── META-INF │ │ ├── LICENSE.txt │ │ ├── MANIFEST.MF │ │ └── NOTICE.txt │ │ ├── maven_git_hook.sh │ │ ├── mkThirdPartyLicenseFile.sh │ │ ├── plugin.xml │ │ ├── pom.xml │ │ ├── src │ │ └── java │ │ │ └── org │ │ │ └── datanucleus │ │ │ └── store │ │ │ └── scalaris │ │ │ ├── ConnectionFactoryImpl.java │ │ │ ├── Localisation.properties │ │ │ ├── ScalarisPersistenceHandler.java │ │ │ ├── ScalarisSchemaHandler.java │ │ │ ├── ScalarisStoreManager.java │ │ │ ├── ScalarisUtils.java │ │ │ ├── fieldmanager │ │ │ ├── FetchFieldManager.java │ │ │ └── StoreFieldManager.java │ │ │ └── query │ │ │ ├── JDOQLQuery.java │ │ │ ├── JPQLQuery.java │ │ │ ├── ScalarisJDOQLEvaluator.java │ │ │ └── ScalarisJDOQLResultClassMapper.java │ │ └── start-scalaris.sh ├── dialyzer-col.sed ├── dotgraph_cyclon.sh ├── dotto │ ├── .gitignore │ ├── LICENSE │ ├── Makefile │ ├── README.rst │ ├── ebin │ │ └── .gitkeep │ ├── erlang.mk │ ├── src │ │ ├── dotto.app.src │ │ └── dotto.erl │ └── test │ │ └── dotto_SUITE.erl ├── init.d │ ├── .gitignore │ ├── initd-first.conf │ ├── initd.conf │ ├── scalaris-monitor.in │ └── scalaris.in ├── log4erl-setup.txt ├── log4erl │ ├── API.txt │ ├── Appenders_API.txt │ ├── CHANGELOG.txt │ ├── CONFIGURATION.txt │ ├── LICENSE.txt │ ├── Makefile │ ├── README.txt │ ├── TODO.txt │ ├── ebin │ │ └── log4erl.app │ ├── include │ │ └── log4erl.hrl │ ├── priv │ │ ├── l4e.conf │ │ └── log4erl.conf │ └── src │ │ ├── Makefile │ │ ├── console_appender.erl │ │ ├── dummy_appender.erl │ │ ├── email_msg.erl │ │ ├── error_logger_log4erl_h.erl │ │ ├── file_appender.erl │ │ ├── log4erl.app.src │ │ ├── log4erl.erl │ │ ├── log4erl_conf.erl │ │ ├── log4erl_lex.xrl │ │ ├── log4erl_parser.yrl │ │ ├── log4erl_sup.erl │ │ ├── log4erl_utils.erl │ │ ├── log_filter.erl │ │ ├── log_filter_codegen.erl │ │ ├── log_formatter.erl │ │ ├── log_manager.erl │ │ ├── logger_guard.erl │ │ ├── smtp_appender.erl │ │ ├── smtp_fsm.erl │ │ ├── syslog_appender.erl │ │ └── xml_appender.erl ├── packages │ ├── bindings │ │ ├── PKGBUILD │ │ ├── checkout.sh │ │ ├── debian.changelog │ │ ├── debian.compat │ │ ├── debian.control │ │ ├── debian.rules │ │ ├── debian.source.lintian-overrides │ │ ├── scalaris-bindings.changes │ │ ├── scalaris-bindings.dsc │ │ └── scalaris-bindings.spec │ ├── examples-wiki │ │ ├── checkout.sh │ │ ├── debian.changelog │ │ ├── debian.compat │ │ ├── debian.control │ │ ├── debian.rules │ │ ├── debian.scalaris-examples-wiki-tomcat5.conffiles │ │ ├── debian.scalaris-examples-wiki-tomcat6.conffiles │ │ ├── debian.source.lintian-overrides │ │ ├── scalaris-examples-wiki-rpmlintrc │ │ ├── scalaris-examples-wiki.changes │ │ ├── scalaris-examples-wiki.dsc │ │ └── scalaris-examples-wiki.spec │ ├── main │ │ ├── PKGBUILD │ │ ├── checkout.sh │ │ ├── debian.changelog │ │ ├── debian.compat │ │ ├── debian.control │ │ ├── debian.rules │ │ ├── debian.scalaris.postinst │ │ ├── debian.scalaris.postrm │ │ ├── debian.scalaris.prerm │ │ ├── debian.source.lintian-overrides │ │ ├── install │ │ ├── scalaris-rpmlintrc │ │ ├── scalaris.changes │ │ ├── scalaris.dsc │ │ └── scalaris.spec │ └── scalaris-pattern.xml ├── rrepair │ ├── .gitignore │ ├── Makefile │ ├── Makefile.tmpl │ ├── Makefile.tmpl2 │ ├── Makefile.tmpl3 │ ├── Makefile_scale.tmpl2 │ ├── README │ ├── coldefs_eval_point.gp │ ├── eval_data_inc.gp │ ├── eval_fprob.gp │ ├── eval_fprob_dists.gp │ ├── eval_frate_inc.gp │ ├── eval_merkle.gp │ ├── gitignore.tmpl2 │ └── rr_eval.sh ├── scalaris-start-local.sh ├── slurm │ ├── README │ ├── basho-bench.sh │ ├── basho-bench.slurm │ ├── basho_slurm_lg.slurm │ ├── cleanup.sh │ ├── config │ │ ├── basho-bench.cfg │ │ └── env.sh │ ├── count-channels.slurm │ ├── example-job-script.slurm │ ├── increment-bench.sh │ ├── increment-bench.slurm │ └── util │ │ ├── checkdir.sh │ │ ├── collect_crashdumps.sh │ │ ├── crashreport.awk │ │ ├── crashwatcher.sh │ │ ├── start-basho-bench.sh │ │ ├── start-scalaris.sh │ │ ├── start-vm.sh │ │ ├── stop-scalaris.sh │ │ ├── sync_scalaris_to_local_dir.sh │ │ ├── toplog.sh │ │ └── watchdog.sh ├── systemd │ ├── .gitignore │ ├── README │ ├── scalaris-first.conf │ ├── scalaris.conf │ ├── scalaris.fc │ ├── scalaris.if │ ├── scalaris.service.in │ └── scalaris.te ├── wikipedia │ ├── .gitignore │ ├── README │ ├── build.xml │ ├── contrib │ │ ├── .gitignore │ │ ├── apache-tomcat │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ ├── RELEASE-NOTES │ │ │ ├── RUNNING.txt │ │ │ ├── bin │ │ │ │ ├── bootstrap.jar │ │ │ │ ├── catalina-tasks.xml │ │ │ │ ├── catalina.bat │ │ │ │ ├── catalina.sh │ │ │ │ ├── commons-daemon-native.tar.gz │ │ │ │ ├── commons-daemon.jar │ │ │ │ ├── configtest.bat │ │ │ │ ├── configtest.sh │ │ │ │ ├── cpappend.bat │ │ │ │ ├── daemon.sh │ │ │ │ ├── digest.bat │ │ │ │ ├── digest.sh │ │ │ │ ├── setclasspath.bat │ │ │ │ ├── setclasspath.sh │ │ │ │ ├── shutdown.bat │ │ │ │ ├── shutdown.sh │ │ │ │ ├── startup.bat │ │ │ │ ├── startup.sh │ │ │ │ ├── tomcat-juli.jar │ │ │ │ ├── tomcat-native.tar.gz │ │ │ │ ├── tool-wrapper.bat │ │ │ │ ├── tool-wrapper.sh │ │ │ │ ├── version.bat │ │ │ │ └── version.sh │ │ │ ├── conf │ │ │ │ ├── catalina.policy │ │ │ │ ├── catalina.properties │ │ │ │ ├── context.xml │ │ │ │ ├── logging.properties │ │ │ │ ├── server.xml │ │ │ │ ├── tomcat-users.xml │ │ │ │ └── web.xml │ │ │ ├── lib │ │ │ │ ├── annotations-api.jar │ │ │ │ ├── catalina-ant.jar │ │ │ │ ├── catalina-ha.jar │ │ │ │ ├── catalina-tribes.jar │ │ │ │ ├── catalina.jar │ │ │ │ ├── ecj-4.2.2.jar │ │ │ │ ├── el-api.jar │ │ │ │ ├── jasper-el.jar │ │ │ │ ├── jasper.jar │ │ │ │ ├── jsp-api.jar │ │ │ │ ├── servlet-api.jar │ │ │ │ ├── tomcat-api.jar │ │ │ │ ├── tomcat-coyote.jar │ │ │ │ ├── tomcat-dbcp.jar │ │ │ │ ├── tomcat-i18n-es.jar │ │ │ │ ├── tomcat-i18n-fr.jar │ │ │ │ ├── tomcat-i18n-ja.jar │ │ │ │ ├── tomcat-jdbc.jar │ │ │ │ └── tomcat-util.jar │ │ │ ├── temp │ │ │ │ └── safeToDelete.tmp │ │ │ └── webapps │ │ │ │ ├── ROOT │ │ │ │ └── index.jsp │ │ │ │ └── scalaris-wiki │ │ ├── bliki-core-3.0.20-SNAPSHOT.jar │ │ ├── commons-codec-1.6.jar │ │ ├── commons-compress-1.6.jar │ │ ├── commons-httpclient-3.1.jar │ │ ├── commons-lang-2.6.jar │ │ ├── commons-logging-1.1.1.jar │ │ ├── java-bloomfilter-1.0.jar │ │ ├── libsqlite4java-linux-amd64.so │ │ ├── libsqlite4java-linux-i386.so │ │ ├── libsqlite4java-osx-10.4.jnilib │ │ ├── libsqlite4java-osx-ppc.jnilib │ │ ├── libsqlite4java-osx.jnilib │ │ ├── sqlite4java-win32-x64.dll │ │ ├── sqlite4java-win32-x86.dll │ │ ├── sqlite4java.jar │ │ ├── update-tomcat.txt │ │ └── xz-1.4.jar │ ├── epl-v10.htm │ ├── scalaris-wiki │ │ ├── META-INF │ │ │ └── MANIFEST.MF │ │ ├── WEB-INF │ │ │ ├── .gitignore │ │ │ ├── dumps │ │ │ │ ├── .gitignore │ │ │ │ ├── empty-de.xml │ │ │ │ ├── empty-en.xml │ │ │ │ └── empty-es.xml │ │ │ ├── plugins │ │ │ │ └── .gitignore │ │ │ └── web.xml │ │ ├── favicon-wikipedia.ico │ │ ├── images │ │ │ ├── Wikipedia.png │ │ │ └── image.png │ │ ├── index.jsp │ │ ├── page.jsp │ │ ├── pageEdit.jsp │ │ ├── pageHistory.jsp │ │ ├── pageSpecial_pagelist.jsp │ │ └── skins │ │ │ ├── 11px-Loudspeaker.svg.png │ │ │ ├── 30px-Gnome-speakernotes.png │ │ │ ├── 40px-Tango-video-x-generic.png │ │ │ ├── Checker-16x16.png │ │ │ ├── MP-magnifying-glass.png │ │ │ ├── MP-open-book.png │ │ │ ├── MP-open-book2.png │ │ │ ├── add.png │ │ │ ├── ajax-loader.gif │ │ │ ├── arrow-down-icon.png │ │ │ ├── audio-icon.png │ │ │ ├── border.png │ │ │ ├── bullet-icon.png │ │ │ ├── document-icon.png │ │ │ ├── edit-icon.png │ │ │ ├── external-link-ltr-icon.png │ │ │ ├── external-link-rtl-icon.png │ │ │ ├── feed-icon.png │ │ │ ├── file-icon.png │ │ │ ├── help-question-hover.gif │ │ │ ├── help-question.gif │ │ │ ├── link-icon.png │ │ │ ├── load.css │ │ │ ├── load_002.css │ │ │ ├── lock-icon.png │ │ │ ├── magnify-clip.png │ │ │ ├── mail-icon.png │ │ │ ├── news-icon.png │ │ │ ├── page-base.png │ │ │ ├── page-fade.png │ │ │ ├── portal-break-ltr.png │ │ │ ├── portal-break-rtl.png │ │ │ ├── portal-break.png │ │ │ ├── preferences-base.png │ │ │ ├── preferences-break.png │ │ │ ├── preferences-edge.png │ │ │ ├── preferences-fade.png │ │ │ ├── redirectltr.png │ │ │ ├── remove.png │ │ │ ├── search-fade.png │ │ │ ├── search-ltr.png │ │ │ ├── search-rtl.png │ │ │ ├── spinner.gif │ │ │ ├── tab-break.png │ │ │ ├── tab-current-fade.png │ │ │ ├── tab-normal-fade.png │ │ │ ├── talk-icon.png │ │ │ ├── tipsy-arrow.gif │ │ │ ├── user-icon.png │ │ │ ├── video-icon.png │ │ │ ├── watch-icon-loading.gif │ │ │ └── watch-icons.png │ └── src │ │ └── de │ │ └── zib │ │ └── scalaris │ │ └── examples │ │ └── wikipedia │ │ ├── ErlangConverter.java │ │ ├── InvolvedKey.java │ │ ├── MyScalarisOpExecWrapper.java │ │ ├── MyScalarisSingleOpExecutor.java │ │ ├── MyScalarisTxOpExecutor.java │ │ ├── NamespaceUtils.java │ │ ├── Options.java │ │ ├── PageHistoryResult.java │ │ ├── Result.java │ │ ├── RevisionResult.java │ │ ├── SQLiteDataHandler.java │ │ ├── SavePageResult.java │ │ ├── ScalarisDataHandler.java │ │ ├── ScalarisDataHandlerNormalised.java │ │ ├── ScalarisDataHandlerUnnormalised.java │ │ ├── ScalarisOpType.java │ │ ├── ScalarisReadListOp1.java │ │ ├── ScalarisReadNumberOp1.java │ │ ├── ScalarisReadRandomListEntryOp1.java │ │ ├── ValueResult.java │ │ ├── WikiServletContext.java │ │ ├── bliki │ │ ├── ExistingPagesCache.java │ │ ├── MyConfiguration.java │ │ ├── MyFullurl.java │ │ ├── MyIfexistTemplateFun.java │ │ ├── MyLocalurl.java │ │ ├── MyMagicWord.java │ │ ├── MyNamespace.java │ │ ├── MyParsingIfTemplateFun.java │ │ ├── MyParsingSwitchTemplateFun.java │ │ ├── MyParsingWikiModel.java │ │ ├── MySQLiteMagicWord.java │ │ ├── MySQLiteWikiModel.java │ │ ├── MyScalarisMagicWord.java │ │ ├── MyScalarisWikiModel.java │ │ ├── MyWikiModel.java │ │ ├── NormalisedTitle.java │ │ ├── WikiPageBean.java │ │ ├── WikiPageBeanBase.java │ │ ├── WikiPageEditBean.java │ │ ├── WikiPageListBean.java │ │ ├── WikiServlet.java │ │ ├── WikiServletDataHandler.java │ │ └── WikiServletScalaris.java │ │ ├── data │ │ ├── Contribution.java │ │ ├── Contributor.java │ │ ├── Page.java │ │ ├── Revision.java │ │ ├── ShortRevision.java │ │ ├── SiteInfo.java │ │ └── xml │ │ │ ├── Main.java │ │ │ ├── SAXParsingInterruptedException.java │ │ │ ├── WikiDump.java │ │ │ ├── WikiDumpConvertPreparedSQLite.java │ │ │ ├── WikiDumpGetCategoryTreeHandler.java │ │ │ ├── WikiDumpHandler.java │ │ │ ├── WikiDumpPageHandler.java │ │ │ ├── WikiDumpPrepareSQLiteForScalarisHandler.java │ │ │ ├── WikiDumpPreparedSQLiteToScalaris.java │ │ │ ├── WikiDumpSQLiteLinkTables.java │ │ │ ├── WikiDumpToScalarisHandler.java │ │ │ ├── WikiDumpXml2SQLite.java │ │ │ ├── XmlContributor.java │ │ │ ├── XmlPage.java │ │ │ ├── XmlRevision.java │ │ │ ├── XmlSiteInfo.java │ │ │ └── util │ │ │ └── SevenZInputStream.java │ │ ├── plugin │ │ ├── PluginClassLoader.java │ │ ├── WikiEventHandler.java │ │ ├── WikiPlugin.java │ │ └── fourcaast │ │ │ ├── FourCaastAccounting.java │ │ │ ├── FourCaastAccountingPlugin.java │ │ │ ├── FourCaastMonitoring.java │ │ │ ├── FourCaastMonitoringMBean.java │ │ │ └── FourCaastMonitoringPlugin.java │ │ └── tomcat │ │ ├── FailedRequestFilter.java │ │ ├── SetCharacterEncodingFilter.java │ │ └── URLParamEncoder.java ├── yaws-revert-broken-utf8-decoding.patch ├── yaws-setup.txt ├── yaws │ ├── LICENSE │ ├── ebin │ │ └── .gitignore │ ├── include │ │ ├── soap-envelope.hrl │ │ ├── soap.hrl │ │ ├── wsdl11soap12.hrl │ │ ├── yaws.hrl │ │ ├── yaws_api.hrl │ │ ├── yaws_dav.hrl │ │ ├── yaws_lock.hrl │ │ └── yaws_soap.hrl │ ├── src │ │ ├── haxe.erl │ │ ├── json.erl │ │ ├── json2.erl │ │ ├── jsonrpc.erl │ │ ├── mime_type_c.erl │ │ ├── mime_types.erl │ │ ├── yaws.app.src │ │ ├── yaws.app.src.script │ │ ├── yaws.appup.src │ │ ├── yaws.erl │ │ ├── yaws_api.erl │ │ ├── yaws_app.erl │ │ ├── yaws_appdeps.hrl │ │ ├── yaws_appmod_cgi.erl │ │ ├── yaws_appmod_dav.erl │ │ ├── yaws_appmod_fcgi.erl │ │ ├── yaws_cgi.erl │ │ ├── yaws_charset.hrl │ │ ├── yaws_compile.erl │ │ ├── yaws_config.erl │ │ ├── yaws_ctl.erl │ │ ├── yaws_debug.erl │ │ ├── yaws_debug.hrl │ │ ├── yaws_dime.erl │ │ ├── yaws_dynopts.erl │ │ ├── yaws_exhtml.erl │ │ ├── yaws_generated.erl │ │ ├── yaws_generated.template │ │ ├── yaws_html.erl │ │ ├── yaws_jsonrpc.erl │ │ ├── yaws_log.erl │ │ ├── yaws_log_file_h.erl │ │ ├── yaws_logger.erl │ │ ├── yaws_ls.erl │ │ ├── yaws_multipart.erl │ │ ├── yaws_outmod.erl │ │ ├── yaws_pam.erl │ │ ├── yaws_revproxy.erl │ │ ├── yaws_rpc.erl │ │ ├── yaws_rss.erl │ │ ├── yaws_runmod_lock.erl │ │ ├── yaws_sendfile.erl │ │ ├── yaws_server.erl │ │ ├── yaws_session_server.erl │ │ ├── yaws_shaper.erl │ │ ├── yaws_soap12_lib.erl │ │ ├── yaws_soap_lib.erl │ │ ├── yaws_soap_srv.erl │ │ ├── yaws_sse.erl │ │ ├── yaws_stats.erl │ │ ├── yaws_sup.erl │ │ ├── yaws_sup_restarts.erl │ │ ├── yaws_ticker.erl │ │ ├── yaws_trace.erl │ │ ├── yaws_vdir.erl │ │ ├── yaws_websockets.erl │ │ ├── yaws_xmlrpc.erl │ │ └── yaws_zlib.erl │ └── vsn.mk └── ycsb │ ├── .gitignore │ ├── BUILD │ ├── CHANGELOG │ ├── LICENSE.txt │ ├── NOTICE.txt │ ├── README │ ├── bin │ ├── ycsb │ └── ycsb.sh │ ├── checkstyle.xml │ ├── core │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── yahoo │ │ │ └── ycsb │ │ │ ├── BasicDB.java │ │ │ ├── ByteArrayByteIterator.java │ │ │ ├── ByteIterator.java │ │ │ ├── Client.java │ │ │ ├── CommandLine.java │ │ │ ├── DB.java │ │ │ ├── DBException.java │ │ │ ├── DBFactory.java │ │ │ ├── DBWrapper.java │ │ │ ├── InputStreamByteIterator.java │ │ │ ├── RandomByteIterator.java │ │ │ ├── StringByteIterator.java │ │ │ ├── TerminatorThread.java │ │ │ ├── UnknownDBException.java │ │ │ ├── Utils.java │ │ │ ├── Workload.java │ │ │ ├── WorkloadException.java │ │ │ ├── generator │ │ │ ├── ConstantIntegerGenerator.java │ │ │ ├── CounterGenerator.java │ │ │ ├── DiscreteGenerator.java │ │ │ ├── ExponentialGenerator.java │ │ │ ├── FileGenerator.java │ │ │ ├── Generator.java │ │ │ ├── HistogramGenerator.java │ │ │ ├── HotspotIntegerGenerator.java │ │ │ ├── IntegerGenerator.java │ │ │ ├── ScrambledZipfianGenerator.java │ │ │ ├── SkewedLatestGenerator.java │ │ │ ├── UniformGenerator.java │ │ │ ├── UniformIntegerGenerator.java │ │ │ └── ZipfianGenerator.java │ │ │ ├── measurements │ │ │ ├── Measurements.java │ │ │ ├── OneMeasurement.java │ │ │ ├── OneMeasurementHistogram.java │ │ │ ├── OneMeasurementTimeSeries.java │ │ │ └── exporter │ │ │ │ ├── JSONMeasurementsExporter.java │ │ │ │ ├── MeasurementsExporter.java │ │ │ │ └── TextMeasurementsExporter.java │ │ │ └── workloads │ │ │ ├── ConstantOccupancyWorkload.java │ │ │ └── CoreWorkload.java │ │ └── test │ │ └── java │ │ └── com │ │ └── yahoo │ │ └── ycsb │ │ └── TestByteIterator.java │ ├── distribution │ ├── pom.xml │ └── src │ │ └── main │ │ └── assembly │ │ └── distribution.xml │ ├── doc │ ├── coreproperties.html │ ├── coreworkloads.html │ ├── dblayer.html │ ├── images │ │ ├── ycsb.jpg │ │ └── ycsblogo-small.png │ ├── index.html │ ├── javadoc │ │ ├── allclasses-frame.html │ │ ├── allclasses-noframe.html │ │ ├── com │ │ │ └── yahoo │ │ │ │ └── ycsb │ │ │ │ ├── BasicDB.html │ │ │ │ ├── Client.html │ │ │ │ ├── CounterGenerator.html │ │ │ │ ├── DB.html │ │ │ │ ├── DBException.html │ │ │ │ ├── DBFactory.html │ │ │ │ ├── DBWrapper.html │ │ │ │ ├── DiscreteGenerator.html │ │ │ │ ├── FindGoodAB.html │ │ │ │ ├── FindGoodScrambleVector.html │ │ │ │ ├── Generator.html │ │ │ │ ├── IntegerGenerator.html │ │ │ │ ├── Measurements.html │ │ │ │ ├── OneMeasurement.html │ │ │ │ ├── OneMeasurementHistogram.html │ │ │ │ ├── OneMeasurementTimeSeries.html │ │ │ │ ├── ScrambledZipfianGenerator.html │ │ │ │ ├── SkewedLatestGenerator.html │ │ │ │ ├── TestCollisions.html │ │ │ │ ├── TestExpandedZipfian.html │ │ │ │ ├── TestZipfian.html │ │ │ │ ├── UniformGenerator.html │ │ │ │ ├── UniformIntegerGenerator.html │ │ │ │ ├── UnknownDBException.html │ │ │ │ ├── Utils.html │ │ │ │ ├── Workload.html │ │ │ │ ├── WorkloadException.html │ │ │ │ ├── ZipfianGenerator.html │ │ │ │ ├── db │ │ │ │ ├── CassandraClient.html │ │ │ │ ├── HBaseClient.html │ │ │ │ ├── ShardClient.html │ │ │ │ ├── SherpaClient.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ └── package-tree.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── workloads │ │ │ │ ├── CoreWorkload.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ └── package-tree.html │ │ ├── constant-values.html │ │ ├── deprecated-list.html │ │ ├── help-doc.html │ │ ├── index-all.html │ │ ├── index.html │ │ ├── overview-frame.html │ │ ├── overview-summary.html │ │ ├── overview-tree.html │ │ ├── package-list │ │ ├── resources │ │ │ └── inherit.gif │ │ ├── serialized-form.html │ │ └── stylesheet.css │ ├── parallelclients.html │ ├── tipsfaq.html │ └── workload.html │ ├── pom.xml │ ├── scalaris │ ├── .gitignore │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── yahoo │ │ └── ycsb │ │ └── db │ │ └── ScalarisClient.java │ └── workloads │ ├── workloada │ ├── workloadb │ ├── workloadc │ ├── workloadd │ ├── workloade │ └── workloadf ├── cpp-api ├── .clang-format ├── .gitignore ├── Makefile.in ├── include │ ├── connection.hpp │ ├── converter.hpp │ ├── exceptions.hpp │ ├── json │ │ ├── json-forwards.h │ │ └── json.h │ ├── module.modulemap │ ├── rbr.hpp │ ├── req_list.hpp │ ├── routing_table.hpp │ ├── ssl-connection.hpp │ ├── tcp-connection.hpp │ └── transaction_single_op.hpp ├── src │ ├── cli.cpp │ ├── connection.cpp │ ├── jsoncpp.cpp │ ├── routing_table.cpp │ ├── ssl-connection.cpp │ └── tcp-connection.cpp └── test │ ├── connection.cpp │ ├── keep_alive.cpp │ ├── rbr.cpp │ ├── routing_table.cpp │ ├── ssl-connection.cpp │ ├── ssl-routing_table.cpp │ ├── ssl-transaction_single_op.cpp │ └── transaction_single_op.cpp ├── data └── .gitignore ├── doc ├── .gitignore ├── overview.edoc ├── scale-read.pdf └── scale-write.pdf ├── docroot ├── .gitignore ├── api │ ├── autoscale.yaws │ ├── dht_raw.yaws │ ├── monitor.yaws │ ├── rbr.yaws │ ├── rdht.yaws │ ├── rt.yaws │ ├── tx.yaws │ ├── vm.yaws │ └── yaws_handler.hrl ├── bench.yaws ├── dc.js ├── dc.yaws ├── dcMap.yaws ├── debug.css ├── debug.js ├── debug.yaws ├── doc ├── documentation.yaws ├── ext-all.css ├── ext-all.js ├── ext-base.js ├── favicon.ico ├── flot │ ├── API.txt │ ├── LICENSE.txt │ ├── VERSION │ ├── excanvas.min.js │ ├── jquery.colorhelpers.min.js │ ├── jquery.flot.crosshair.min.js │ ├── jquery.flot.errorbars.min.js │ ├── jquery.flot.fillbetween.min.js │ ├── jquery.flot.image.min.js │ ├── jquery.flot.min.js │ ├── jquery.flot.navigate.min.js │ ├── jquery.flot.pie.min.js │ ├── jquery.flot.resize.min.js │ ├── jquery.flot.selection.min.js │ ├── jquery.flot.stack.min.js │ ├── jquery.flot.symbol.min.js │ ├── jquery.flot.threshold.min.js │ └── jquery.min.js ├── folder-open.gif ├── folder.gif ├── gossip.yaws ├── graphs │ └── .gitignore ├── icons │ ├── .gitignore │ ├── aa.gif │ ├── at.gif │ ├── au.gif │ ├── be.gif │ ├── br.gif │ ├── ca.gif │ ├── ch.gif │ ├── cn.gif │ ├── cz.gif │ ├── de.gif │ ├── edu.gif │ ├── es.gif │ ├── fr.gif │ ├── gr.gif │ ├── hk.gif │ ├── hu.gif │ ├── il.gif │ ├── in.gif │ ├── it.gif │ ├── jp.gif │ ├── kr.gif │ ├── nl.gif │ ├── no.gif │ ├── pl.gif │ ├── pr.gif │ ├── pt.gif │ ├── se.gif │ ├── sg.gif │ ├── tw.gif │ ├── uk.gif │ ├── unknown.gif │ └── us.gif ├── ie55-.css ├── images │ └── default │ │ ├── dd │ │ ├── .gitignore │ │ ├── drop-add.gif │ │ ├── drop-no.gif │ │ └── drop-yes.gif │ │ ├── grid │ │ ├── .gitignore │ │ ├── Thumbs.db │ │ ├── arrow-left-white.gif │ │ ├── arrow-right-white.gif │ │ ├── col-move-bottom.gif │ │ ├── col-move-top.gif │ │ ├── columns.gif │ │ ├── dirty.gif │ │ ├── done.gif │ │ ├── drop-no.gif │ │ ├── drop-yes.gif │ │ ├── footer-bg.gif │ │ ├── grid-blue-hd.gif │ │ ├── grid-blue-split.gif │ │ ├── grid-hrow.gif │ │ ├── grid-loading.gif │ │ ├── grid-split.gif │ │ ├── grid-vista-hd.gif │ │ ├── grid3-hd-btn.gif │ │ ├── grid3-hrow-over.gif │ │ ├── grid3-hrow.gif │ │ ├── grid3-special-col-bg.gif │ │ ├── grid3-special-col-sel-bg.gif │ │ ├── group-by.gif │ │ ├── group-expand-sprite.gif │ │ ├── hd-pop.gif │ │ ├── hmenu-asc.gif │ │ ├── hmenu-desc.gif │ │ ├── hmenu-lock.gif │ │ ├── hmenu-lock.png │ │ ├── hmenu-unlock.gif │ │ ├── hmenu-unlock.png │ │ ├── invalid_line.gif │ │ ├── loading.gif │ │ ├── mso-hd.gif │ │ ├── nowait.gif │ │ ├── page-first-disabled.gif │ │ ├── page-first.gif │ │ ├── page-last-disabled.gif │ │ ├── page-last.gif │ │ ├── page-next-disabled.gif │ │ ├── page-next.gif │ │ ├── page-prev-disabled.gif │ │ ├── page-prev.gif │ │ ├── pick-button.gif │ │ ├── refresh.gif │ │ ├── row-check-sprite.gif │ │ ├── row-expand-sprite.gif │ │ ├── row-over.gif │ │ ├── row-sel.gif │ │ ├── sort_asc.gif │ │ ├── sort_desc.gif │ │ └── wait.gif │ │ ├── panel │ │ ├── .gitignore │ │ ├── corners-sprite.gif │ │ ├── left-right.gif │ │ ├── light-hd.gif │ │ ├── tool-sprite-tpl.gif │ │ ├── tool-sprites.gif │ │ ├── tools-sprites-trans.gif │ │ ├── top-bottom.gif │ │ ├── top-bottom.png │ │ ├── white-corners-sprite.gif │ │ ├── white-left-right.gif │ │ └── white-top-bottom.gif │ │ └── tree │ │ ├── .gitignore │ │ ├── arrows.gif │ │ ├── drop-add.gif │ │ ├── drop-between.gif │ │ ├── drop-no.gif │ │ ├── drop-over.gif │ │ ├── drop-under.gif │ │ ├── drop-yes.gif │ │ ├── elbow-end-minus-nl.gif │ │ ├── elbow-end-minus.gif │ │ ├── elbow-end-plus-nl.gif │ │ ├── elbow-end-plus.gif │ │ ├── elbow-end.gif │ │ ├── elbow-line.gif │ │ ├── elbow-minus-nl.gif │ │ ├── elbow-minus.gif │ │ ├── elbow-plus-nl.gif │ │ ├── elbow-plus.gif │ │ ├── elbow.gif │ │ ├── folder-open.gif │ │ ├── folder.gif │ │ ├── leaf.gif │ │ ├── loading.gif │ │ └── s.gif ├── index.yaws ├── indexed-ring.yaws ├── jsonrpc.yaws ├── local.yaws ├── logger.yaws ├── main.css ├── monitor_client.yaws ├── monitor_ring.yaws ├── node.yaws ├── plot_ring.js ├── processinfo.yaws ├── processtree.yaws ├── ring.yaws ├── tablesort │ ├── blue │ │ ├── asc.gif │ │ ├── bg.gif │ │ ├── desc.gif │ │ └── style.css │ └── jquery.tablesorter.min.js ├── vivaldi.yaws └── vivaldiMap.yaws ├── ebin └── .gitignore ├── include ├── .gitignore ├── atom_ext.hrl ├── client_types.hrl ├── gen_component.hrl ├── lookup.hrl ├── record_helpers.hrl ├── rt.hrl.in ├── rt_chord.hrl ├── rt_frt.hrl ├── rt_gfrt.hrl ├── rt_simple.hrl ├── scalaris.hrl └── types.hrl ├── java-api ├── .classpath ├── .gitignore ├── .project ├── .settings │ ├── org.eclipse.jdt.core.prefs │ └── org.eclipse.jdt.ui.prefs ├── Doxyfile ├── README ├── build.xml ├── doc-contrib │ ├── apache_commons_cli │ │ └── package-list │ ├── javase6 │ │ └── package-list │ └── jinterface │ │ └── package-list ├── lib │ ├── .gitignore │ ├── OtpErlang-1.6.1.jar │ ├── ant_doxygen.jar │ └── jakarta-commons-cli-1.2.jar ├── maven_git_hook.sh ├── pom.xml ├── scalaris-java.conf.in ├── scalaris-java.conf.sample ├── scalaris.in ├── src │ ├── de │ │ └── zib │ │ │ ├── scalaris │ │ │ ├── AbortException.java │ │ │ ├── AbstractTransaction.java │ │ │ ├── Benchmark.java │ │ │ ├── CommonErlangObjects.java │ │ │ ├── Connection.java │ │ │ ├── ConnectionException.java │ │ │ ├── ConnectionFactory.java │ │ │ ├── ConnectionPolicy.java │ │ │ ├── ConnectionPool.java │ │ │ ├── DefaultConnectionPolicy.java │ │ │ ├── DeleteResult.java │ │ │ ├── EmptyListException.java │ │ │ ├── ErlangValue.java │ │ │ ├── ErlangValueJSONBase.java │ │ │ ├── ErlangValueJSONInterface.java │ │ │ ├── ErlangValueJSONToBean.java │ │ │ ├── ErlangValueJSONToMap.java │ │ │ ├── FixedNodeConnectionPolicy.java │ │ │ ├── KeyChangedException.java │ │ │ ├── LeastFailedNodesComparator.java │ │ │ ├── LeastRecentlyFailedNodesComparator.java │ │ │ ├── Main.java │ │ │ ├── Monitor.java │ │ │ ├── NodeDiscovery.java │ │ │ ├── NotAListException.java │ │ │ ├── NotANumberException.java │ │ │ ├── NotFoundException.java │ │ │ ├── PeerNode.java │ │ │ ├── ReplicatedDHT.java │ │ │ ├── RequestList.java │ │ │ ├── ResultList.java │ │ │ ├── RoundRobinConnectionPolicy.java │ │ │ ├── RoutingTable.java │ │ │ ├── Scalaris.java │ │ │ ├── ScalarisVM.java │ │ │ ├── TimeoutException.java │ │ │ ├── Transaction.java │ │ │ ├── TransactionSingleOp.java │ │ │ ├── UnknownException.java │ │ │ ├── examples │ │ │ │ ├── ErlangValueBitString.java │ │ │ │ ├── ErlangValueFastString.java │ │ │ │ ├── FastStringBenchmark.java │ │ │ │ ├── TransactionReadExample.java │ │ │ │ ├── TransactionReadWriteExample.java │ │ │ │ ├── TransactionSingleOpReadExample.java │ │ │ │ ├── TransactionSingleOpWriteExample.java │ │ │ │ ├── TransactionWriteExample.java │ │ │ │ └── package-info.java │ │ │ ├── executor │ │ │ │ ├── ScalarisChangeListOp1.java │ │ │ │ ├── ScalarisChangeListOp2.java │ │ │ │ ├── ScalarisIncrementOp1.java │ │ │ │ ├── ScalarisIncrementOp2.java │ │ │ │ ├── ScalarisListAppendRemoveOp1.java │ │ │ │ ├── ScalarisListAppendRemoveOp2.java │ │ │ │ ├── ScalarisOp.java │ │ │ │ ├── ScalarisOpExecutor.java │ │ │ │ ├── ScalarisReadOp.java │ │ │ │ ├── ScalarisSingleOpExecutor.java │ │ │ │ ├── ScalarisTxOpExecutor.java │ │ │ │ └── ScalarisWriteOp.java │ │ │ ├── jmx │ │ │ │ ├── MonitorNode.java │ │ │ │ ├── MonitorNodeMBean.java │ │ │ │ ├── MonitorService.java │ │ │ │ └── MonitorServiceMBean.java │ │ │ ├── operations │ │ │ │ ├── AddDelOnListOp.java │ │ │ │ ├── AddOnNrOp.java │ │ │ │ ├── CommitOp.java │ │ │ │ ├── Operation.java │ │ │ │ ├── PartialReadOp.java │ │ │ │ ├── ReadOp.java │ │ │ │ ├── ReadRandomFromListOp.java │ │ │ │ ├── ReadSublistOp.java │ │ │ │ ├── TestAndSetOp.java │ │ │ │ ├── TransactionOperation.java │ │ │ │ ├── TransactionSingleOpOperation.java │ │ │ │ └── WriteOp.java │ │ │ └── package-info.java │ │ │ └── tools │ │ │ ├── CircularByteArrayOutputStream.java │ │ │ ├── LinkedMultiHashMap.java │ │ │ ├── MultiHashMap.java │ │ │ ├── MultiMap.java │ │ │ ├── PropertyLoader.java │ │ │ └── package-info.java │ └── scalaris.properties ├── test-lib │ ├── annotations-api.jar │ ├── ant-junit-1.9.0.jar │ ├── bootstrap.jar │ ├── catalina-ant.jar │ ├── catalina-ha.jar │ ├── catalina-tribes.jar │ ├── catalina.jar │ ├── commons-codec-1.6.jar │ ├── commons-daemon.jar │ ├── ecj-4.2.2.jar │ ├── el-api.jar │ ├── hamcrest-core-1.3.jar │ ├── jasper-el.jar │ ├── jasper.jar │ ├── jetty-util-8.0.4.v20111024.jar │ ├── jsp-api.jar │ ├── junit-4.11.jar │ ├── servlet-api.jar │ ├── tomcat-api.jar │ ├── tomcat-coyote.jar │ ├── tomcat-dbcp.jar │ ├── tomcat-i18n-es.jar │ ├── tomcat-i18n-fr.jar │ ├── tomcat-i18n-ja.jar │ ├── tomcat-jdbc.jar │ ├── tomcat-juli.jar │ └── tomcat-util.jar └── test │ ├── de │ └── zib │ │ ├── scalaris │ │ ├── ConnectionTest.java │ │ ├── DefaultConnectionPolicyTest.java │ │ ├── ErlangValueTest.java │ │ ├── InterOpTest.java │ │ ├── MonitorTest.java │ │ ├── PeerNodeTest.java │ │ ├── ReplicatedDHTTest.java │ │ ├── ScalarisTest.java │ │ ├── ScalarisVMTest.java │ │ ├── TransactionSingleOpTest.java │ │ └── TransactionTest.java │ │ └── tools │ │ ├── PropertyLoaderTest.java │ │ └── test.properties │ └── scalaris.properties ├── log └── .gitignore ├── m4 ├── ax_boost_asio.m4 ├── ax_boost_base.m4 ├── ax_boost_program_options.m4 ├── ax_boost_regex.m4 ├── ax_boost_system.m4 ├── ax_boost_test_exec_monitor.m4 ├── ax_boost_unit_test_framework.m4 ├── ax_check_compile_flag.m4 ├── ax_check_openssl.m4 ├── ax_cxx_compile_stdcxx.m4 └── ax_cxx_compile_stdcxx_14.m4 ├── priv └── .gitignore ├── python-api ├── .gitignore ├── Scalaris.e4p ├── doc │ └── .gitignore ├── epydoc.html.cfg ├── epydoc.pdf.cfg ├── scalaris.in ├── scalaris.py ├── scalaris_bench.py ├── scalaris_client.py ├── scalaris_interop_test.py ├── scalaris_test.py ├── scalaris_userdevguide_jsontrace.py └── setup.py ├── ruby-api ├── .gitignore ├── scalaris.gemspec ├── scalaris.in ├── scalaris.rb ├── scalaris_client.rb ├── scalaris_interop_test.rb └── scalaris_test.rb ├── src ├── .gitignore ├── admin.erl ├── admin_first.erl ├── api_autoscale.erl ├── api_dht.erl ├── api_dht_raw.erl ├── api_monitor.erl ├── api_mr.erl ├── api_rdht.erl ├── api_ring.erl ├── api_rt.erl ├── api_tx.erl ├── api_tx.hrl ├── api_txc.erl ├── api_vm.erl ├── autoscale.erl ├── autoscale_server.erl ├── bench.erl ├── bench_fun.erl ├── bench_load.erl ├── bench_server.erl ├── bulkowner.erl ├── cloud_beh.erl ├── cloud_local.erl ├── cloud_ssh.erl ├── comm.erl ├── comm_layer │ ├── comm_connection.erl │ ├── comm_logger.erl │ ├── comm_server.erl │ ├── comm_ssl_acceptor.erl │ ├── comm_stats.erl │ └── comm_tcp_acceptor.erl ├── config.erl ├── configure.erl ├── cp │ ├── l_on_cseq.erl │ ├── lease_checker.erl │ ├── lease_checker2.erl │ ├── lease_list.erl │ ├── lease_recover.erl │ ├── leases.erl │ └── rm_leases.erl ├── crdt │ ├── crdt_acceptor.erl │ ├── crdt_on_cseq.erl │ ├── crdt_proposer.erl │ ├── crdt_wait_free_wrapper.erl │ ├── gcounter_on_cseq.erl │ ├── gla_acceptor.erl │ ├── gla_proposer.erl │ ├── pncounter_on_cseq.erl │ ├── types │ │ ├── crdt.erl │ │ ├── crdt_beh.erl │ │ ├── crdt_beh.hrl │ │ ├── gcounter.erl │ │ ├── gset.erl │ │ ├── optorset.erl │ │ └── pncounter.erl │ ├── zheng_acceptor.erl │ └── zheng_proposer.erl ├── cyclon_cache.erl ├── db_backend_beh.erl ├── db_bitcask.erl ├── db_bitcask_merge_extension.erl ├── db_dht.erl ├── db_entry.erl ├── db_ets.erl ├── db_hanoidb.erl ├── db_mnesia.erl ├── db_prbr.erl ├── db_toke.erl ├── db_util.erl ├── dc_centroids.erl ├── dc_clustering.erl ├── debug.erl ├── dht_node.erl ├── dht_node_cache.erl ├── dht_node_db_cache.erl ├── dht_node_extensions.erl ├── dht_node_join.erl ├── dht_node_join_recover.erl ├── dht_node_lookup.erl ├── dht_node_monitor.erl ├── dht_node_move.erl ├── dht_node_reregister.erl ├── dht_node_state.erl ├── dn_cache.erl ├── fd.erl ├── fd_hbs.erl ├── fix_queue.erl ├── ganglia.erl ├── gen_component.erl ├── gossip.erl ├── gossip_beh.erl ├── gossip_cyclon.erl ├── gossip_cyclon_feeder.erl ├── gossip_load.erl ├── gossip_load_beh.erl ├── gossip_load_default.erl ├── gossip_vivaldi.erl ├── histogram.erl ├── histogram_rt.erl ├── intervals.erl ├── json │ ├── api_json.erl │ ├── api_json_autoscale.erl │ ├── api_json_dht_raw.erl │ ├── api_json_monitor.erl │ ├── api_json_rbr.erl │ ├── api_json_rdht.erl │ ├── api_json_ring.erl │ ├── api_json_rt.erl │ ├── api_json_tx.erl │ ├── api_json_vm.erl │ ├── api_jsonclient.erl │ ├── bench_json_helper.erl │ └── jsonclient.erl ├── lb_active.erl ├── lb_active_beh.erl ├── lb_active_directories.erl ├── lb_active_gossip_load_metric.erl ├── lb_active_gossip_request_metric.erl ├── lb_active_karger.erl ├── lb_common.erl ├── lb_info.erl ├── lb_op.erl ├── lb_psv_beh.erl ├── lb_psv_beh.hrl ├── lb_psv_gossip.erl ├── lb_psv_simple.erl ├── lb_psv_split.erl ├── lb_stats.erl ├── log.erl ├── log4erl_ctpal_appender.erl ├── math_pos.erl ├── mathlib.erl ├── mgmt_server.erl ├── modr.erl ├── monitor.erl ├── monitor_perf.erl ├── mr.erl ├── mr_master.erl ├── mr_master_state.erl ├── mr_state.erl ├── msg_delay.erl ├── msg_queue.erl ├── mymaps.erl ├── nifs │ ├── clocks.cpp │ └── prime.cpp ├── node.erl ├── node_details.erl ├── nodelist.erl ├── paxos │ ├── acceptor.erl │ ├── acceptor_state.hrl │ ├── learner.erl │ ├── learner_state.hrl │ ├── proposer.erl │ └── proposer_state.hrl ├── pdb.erl ├── pdb_beh.erl ├── pdb_ets.erl ├── pid_groups.erl ├── prime.erl ├── proto_sched.erl ├── quorum.erl ├── randoms.erl ├── rbr │ ├── inc_on_cseq.erl │ ├── json_on_cseq.erl │ ├── kv_on_cseq.erl │ ├── pr.erl │ ├── prbr.erl │ ├── rbrcseq.erl │ └── replication.erl ├── rm_beh.erl ├── rm_beh.hrl ├── rm_chord.erl ├── rm_loop.erl ├── rm_tman.erl ├── rm_tman_state.erl ├── rrd.erl ├── rrepair │ ├── art.erl │ ├── bloom.erl │ ├── cbf.erl │ ├── hfs_beh.erl │ ├── hfs_lhsp.erl │ ├── hfs_plain.erl │ ├── iblt.erl │ ├── merkle_tree.erl │ ├── rr_recon.erl │ ├── rr_recon_stats.erl │ ├── rr_resolve.erl │ └── rrepair.erl ├── rt_beh.erl ├── rt_beh.hrl ├── rt_chord.erl ├── rt_frt.erl ├── rt_loop.erl ├── rt_simple.erl ├── scalaris.erl ├── service_per_vm.erl ├── slide_beh.erl ├── slide_chord.erl ├── slide_leases.erl ├── slide_op.erl ├── snapshot.erl ├── snapshot_leader.erl ├── snapshot_leader_state.erl ├── snapshot_state.erl ├── statistics.erl ├── sup.erl ├── sup_comm_layer.erl ├── sup_dht_node.erl ├── sup_dht_node_core.erl ├── sup_dht_node_core_tx.erl ├── sup_paxos.erl ├── sup_scalaris.erl ├── sup_wpool.erl ├── sup_yaws.erl ├── time │ └── clocks.erl ├── top.erl ├── trace_mpath.erl ├── tracer.erl ├── transactions │ ├── rdht_tx.erl │ ├── rdht_tx_add_del_on_list.erl │ ├── rdht_tx_add_on_nr.erl │ ├── rdht_tx_read.erl │ ├── rdht_tx_read_state.hrl │ ├── rdht_tx_test_and_set.erl │ ├── rdht_tx_write.erl │ ├── tx_item_state.hrl │ ├── tx_op_beh.erl │ ├── tx_state.hrl │ ├── tx_tlog.erl │ ├── tx_tm_rtm.erl │ └── tx_tp.erl ├── tx │ ├── tx_tm.erl │ └── txid_on_cseq.erl ├── uid.erl ├── util.erl ├── vivaldi_latency.erl ├── webhelpers.erl ├── wpool.erl └── wpool_worker.erl ├── test ├── .gitignore ├── 0001-rt_chord-reduce-key-size-to-16-bits-for-better-debug.patch ├── all_TESTS.cfg ├── all_with_cover_TESTS.cfg ├── api_json_SUITE.erl ├── api_tx_SUITE.erl ├── api_tx_SUITE.hrl ├── api_tx_concurrent_SUITE.erl ├── api_tx_proto_sched_SUITE.erl ├── art_SUITE.erl ├── autoconf_SUITE.erl ├── banking_account_SUITE.erl ├── benchmark_SUITE.erl ├── bloom_SUITE.erl ├── bloom_SUITE.hrl ├── buildbot_TESTS.cfg ├── bulkowner_SUITE.erl ├── cbf_SUITE.erl ├── churn_SUITE.erl ├── collect_module_info_SUITE.erl ├── consistent_lookup_chord_SUITE.erl ├── consistent_lookup_leases_SUITE.erl ├── crash_recovery_SUITE.erl ├── crdt_SUITE.erl ├── db_backend_SUITE.hrl ├── db_bitcask_SUITE.erl ├── db_dht_SUITE.erl ├── db_ets_SUITE.erl ├── db_generator.erl ├── db_generator_SUITE.erl ├── db_hanoidb_SUITE.erl ├── db_mnesia_SUITE.erl ├── db_toke_SUITE.erl ├── dc_centroids_SUITE.erl ├── dc_clustering_SUITE.erl ├── default_TESTS.cfg ├── dht_node_move_SUITE.erl ├── dht_node_move_SUITE.hrl ├── dht_node_move_proto_sched_SUITE.erl ├── dn_cache_SUITE.erl ├── erl_id_trans.erl ├── gossip_SUITE.erl ├── gossip_TESTS.cfg ├── gossip_cyclon_SUITE.erl ├── gossip_types_TESTS.cfg ├── gossip_vivaldi_SUITE.erl ├── histogram_SUITE.erl ├── histogram_rt_SUITE.erl ├── iblt_SUITE.erl ├── intervals_SUITE.erl ├── join_leave_SUITE.erl ├── join_leave_SUITE.hrl ├── join_leave_proto_sched_SUITE.erl ├── json_on_cseq_SUITE.erl ├── l_on_cseq_SUITE.erl ├── lease_helper.erl ├── leases_TESTS.cfg ├── leases_proto_sched_SUITE.erl ├── math_pos_SUITE.erl ├── mathlib_SUITE.erl ├── measure_util.erl ├── memtest_SUITE.erl ├── merkle_tree_SUITE.erl ├── mockup.erl ├── mockup_dht_node.erl ├── mockup_l_on_cseq.erl ├── mockup_l_on_cseq_SUITE.erl ├── mr_SUITE.erl ├── mr_SUITE.hrl ├── mr_proto_sched_SUITE.erl ├── node_details_SUITE.erl ├── nodelist_SUITE.erl ├── non_deterministic_TESTS.cfg ├── paxos_SUITE.erl ├── performance_SUITE.erl ├── performance_TESTS.cfg ├── prbr_SUITE.erl ├── proto_sched_SUITE.erl ├── proto_sched_TESTS.cfg ├── random_bias.erl ├── random_bias_SUITE.erl ├── rbr_interleaving_SUITE.erl ├── recover_SUITE.erl ├── recover_mnesia_SUITE.erl ├── repeated_TESTS.cfg ├── rm_SUITE.erl ├── rm_leases_SUITE.erl ├── rr_eval_admin.erl ├── rr_eval_export.erl ├── rr_eval_point.erl ├── rr_recon_performance_SUITE.erl ├── rr_records.hrl ├── rrd_SUITE.erl ├── rrepair_SUITE.erl ├── rrepair_SUITE.hrl ├── rrepair_TESTS.cfg ├── rrepair_proto_sched_SUITE.erl ├── rt_SUITE.erl ├── rt_SUITE_rt_chord.erl ├── rt_SUITE_rt_frt.erl ├── rt_SUITE_rt_simple.erl ├── runner.erl ├── scalaris.coverspec ├── scalaris_cth.erl ├── scalaris_cth_SUITE.erl ├── skipped_TESTS.cfg ├── slide_leases_SUITE.erl ├── snapshot_SUITE.erl ├── ssl_TESTS.cfg ├── tester.erl ├── tester.hrl ├── tester_SUITE.erl ├── tester_collect_function_info.erl ├── tester_global_state.erl ├── tester_helper.erl ├── tester_parse_state.erl ├── tester_randomized_TESTS.cfg ├── tester_type_checker.erl ├── tester_value_collector.erl ├── tester_value_creator.erl ├── tester_value_creator_scalaris.erl ├── tester_variable_substitutions.erl ├── tx_tm_rtm_SUITE.erl ├── type_check_SUITE.erl ├── type_check_TESTS.cfg ├── unittest.hrl ├── unittest_global_state.erl ├── unittest_helper.erl ├── unittest_helper_SUITE.erl └── util_SUITE.erl └── user-dev-guide ├── .gitignore ├── Makefile ├── dev-dirs.tex ├── dev-hints.tex ├── dev-infrastructure.tex ├── dev-java.tex ├── dev-join.tex ├── dev-overlay.tex ├── dev-rrepair.tex ├── dev-slide.tex ├── dev-tx.tex ├── dht_node_join_phases2.pdf ├── dht_node_join_phases2.tikz ├── etextools.sty ├── etoolbox.sty ├── gen_component.tex ├── latex-col.awk ├── letltxmacro.sty ├── main.pdf ├── main.tex ├── pdfoptions.tex ├── rrepair ├── .gitignore ├── Makefile ├── bloom_sd_uml.pic ├── key_sync_s.pic ├── merkle_sd_uml.pic ├── sequence.pic └── trivial_sd_uml.pic ├── scalaris-layers.pdf ├── scalaris-logo.pdf ├── slide_send_to_pred-2.0.tikz ├── slide_send_to_succ-2.0.tikz ├── supervision.dia ├── supervision.pdf ├── tikz_footer.tex ├── tikz_header.tex ├── user-config.tex ├── user-install.tex ├── user-intro.tex ├── user-systemuse.tex ├── user-tests.tex └── user-troubleshoot.tex /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pdf -crlf -diff 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile 2 | /Emakefile 3 | /.Emakefile 4 | /config.status 5 | /ct_run.*ct*@* 6 | /ct_run.nonode* 7 | /all_runs.html 8 | /index.html 9 | /.externalToolBuilders 10 | /.Makefile.swp 11 | /.make-doc 12 | /variables-ct*@* 13 | /variables-*_ct*@* 14 | /variables-nonode@nohost 15 | /erl_crash.dump 16 | /autom4te.cache 17 | /aclocal.m4 18 | *.beam 19 | *~ 20 | /ct_log_cache 21 | /result_increment_10_1000.txt 22 | /result_increment_1_10000.txt 23 | /result_read_10_10000.txt 24 | /result_read_1_100000.txt 25 | /Thumbs.db 26 | /python3-api 27 | /TAGS* 28 | /*.log 29 | ebin/ 30 | *.swp 31 | *.swo 32 | .DS_Store 33 | Session.vim 34 | .vimrc 35 | /src/user_default.erl 36 | /ct_default.css 37 | /jquery-latest.js 38 | /jquery.tablesorter.min.js 39 | /contrib/toke 40 | /contrib/erlang_js 41 | contrib/slurm/slurm-*.out 42 | /java-api/target 43 | /cpp-api/scalaris 44 | /cpp-api/ssl-tests 45 | /.maven 46 | /priv/*.so 47 | /priv/*.so.dSYM/ 48 | /contrib/log4erl/src/log4erl_lex.erl 49 | /contrib/log4erl/src/log4erl_parser.erl 50 | /cpp-api/tests.dSYM/ 51 | /cpp-api/compile_commands.json 52 | /bin/jsonclient 53 | -------------------------------------------------------------------------------- /.pydevproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Default 6 | python 2.7 7 | 8 | -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | #Wed Jul 28 11:29:12 CEST 2010 2 | eclipse.preferences.version=1 3 | encoding//user-dev-guide/main.tex=ISO-8859-1 4 | -------------------------------------------------------------------------------- /.settings/org.erlide.core.prefs: -------------------------------------------------------------------------------- 1 | backend_version=R16 2 | compiler/raw={d, enable_debug}, {d, with_crypto_hash}, {d, with_rand}, {d, have_callback_support}, {d, with_maps}\n , {d, 'HAVE_ERLANG_SENDFILE'}, {d, 'HAVE_CRYPTO_HASH'} 3 | eclipse.preferences.version=1 4 | external_includes= 5 | external_modules= 6 | include_dirs=contrib/yaws/include;contrib/log4erl/include;include; 7 | output_dir=ebin/eclipse 8 | source_dirs=test;src;src/comm_layer;src/json;src/rbr;src/tx;src/transactions;src/rrepair;src/cp;src/paxos; 9 | use_pathz=false 10 | -------------------------------------------------------------------------------- /.settings/org.erlide.model.prefs: -------------------------------------------------------------------------------- 1 | builderData=INTERNAL|compile|clean|test| 2 | configType=INTERNAL 3 | eclipse.preferences.version=1 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: generic 2 | 3 | matrix: 4 | include: 5 | - os: osx 6 | osx_image: xcode11.4 7 | addons: 8 | homebrew: 9 | packages: 10 | - boost 11 | - erlang 12 | - python 13 | - ant 14 | - openssl 15 | - os: linux 16 | sudo: false 17 | addons: 18 | apt: 19 | sources: 20 | - boost-latest 21 | packages: 22 | - automake 23 | - clang 24 | - libboost-all-dev 25 | - python3 26 | - erlang 27 | - erlang-dev 28 | - ant 29 | 30 | script: 31 | - env | grep TRAVIS 32 | - clang++ -v 33 | - 'if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then CXX=clang++ ./configure --with-openssl=/usr/local/opt/openssl; fi' 34 | - 'if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then CXX=clang++ ./configure; fi' 35 | - touch TAGS.root TAGS.contrib 36 | - make 37 | - make cpp 38 | - make python 39 | - 'if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make python3; fi' 40 | - make java 41 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Ufuk Celebi 2 | Jens Fischer 3 | Christian Hennig 4 | Mikael Högqvist 5 | Marie Hoffmann 6 | Stefan Keidel 7 | Nico Kruber 8 | Maik Lange 9 | Maximilian Michels 10 | Monika Moser 11 | Magnus Müller 12 | Stefan Plantikow 13 | Tanguy Racinet 14 | Florian Schintke 15 | Thorsten Schütt 16 | Jan Skrzypczak 17 | Jeroen Vlek 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/scalaris-team/scalaris.svg?branch=master)](https://travis-ci.org/scalaris-team/scalaris) 2 | [![Project Stats](https://www.openhub.net/p/scalaris/widgets/project_thin_badge.gif)](https://www.openhub.net/p/scalaris) 3 | 4 | Scalaris is a scalable, transactional, distributed and fault-tolerant 5 | key-value-store with strong data consistency for online databases and 6 | Web 2.0 services. 7 | 8 | Instructions can be found in the [Users and Developers Guide](https://github.com/scalaris-team/scalaris/blob/master/user-dev-guide/main.pdf) 9 | 10 | Additional information, including download links for rpm-packages, can 11 | be found on the project homepage: 12 | http://scalaris.zib.de/ 13 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.9.0+git 2 | -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | /scalaris.local.cfg 2 | /scalarisclient 3 | /scalarisctl 4 | /cs_local.sh 5 | /cs_local2.sh 6 | /cs_local3.sh 7 | /boot.sh 8 | /.scalaris.cfg.swp 9 | -------------------------------------------------------------------------------- /bin/find_erlang.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | :: set path to erlang installation 3 | 4 | SETLOCAL ENABLEDELAYEDEXPANSION 5 | 6 | set ERL_R18_0=7.0.2 7.0.1 7.0 7 | set ERL_R17_5=6.4.1 6.4 8 | set ERL_R17_4=6.3.1 6.3 9 | set ERL_R17_3=6.2.1 6.2 10 | set ERL_R17_1=6.1.2 6.1.1 6.1 11 | set ERL_R17=6.0.1 6.0 12 | set ERL_R16B03=5.10.4.1 5.10.4 13 | set ERL_R16B02=5.10.3.1 5.10.3 14 | set ERL_R16B01=5.10.2 15 | set ERL_R16B=5.10.1.2 5.10.1.1 5.10.1 16 | set ERL_R15B03=5.9.3.1 5.9.3 17 | set ERL_R15B02=5.9.2 18 | set ERL_R15B01=5.9.1.2 5.9.1.1 5.9.1 19 | set ERL_R15B=5.9.0.1 5.9 20 | set ERL_R14B04=5.8.5 21 | set ERL_ALL=%ERL_R18_0% %ERL_R17_5% %ERL_R17_4% %ERL_R17_3% %ERL_R17_1% %ERL_R17% %ERL_R16B03% %ERL_R16B02% %ERL_R16B01% %ERL_R16B% %ERL_R15B03% %ERL_R15B02% %ERL_R15B01% %ERL_R15B% %ERL_R14B04% 22 | if not defined ERLANG_HOME ( 23 | FOR %%c in (%ERL_ALL%) DO ( 24 | FOR %%p in ("%ProgramFiles%\erl%%c" "%ProgramFiles(x86)%\erl%%c") DO ( 25 | set FULL_PATH=%%p 26 | if exist !FULL_PATH! ( 27 | set ERLANG_HOME=%%p 28 | goto found 29 | ) 30 | ) 31 | ) 32 | ) 33 | 34 | :found 35 | 36 | echo ERLANG_HOME=%ERLANG_HOME% 37 | 38 | ENDLOCAL & set ERLANG_HOME=%ERLANG_HOME% 39 | -------------------------------------------------------------------------------- /bin/firstnode.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright 2007-2015 Zuse Institute Berlin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # Script to start a new Scalaris system with an initial node. 17 | ID=0 18 | NAME="firstnode" 19 | PORT=$((14195+$ID)) 20 | YAWSPORT=$((8000+$ID)) 21 | 22 | ABSPATH="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" 23 | DIRNAME=`dirname $ABSPATH` 24 | 25 | if [ 1 -le $# ]; then 26 | ERLFLAGS="$@" 27 | else 28 | ERLFLAGS=" " 29 | fi 30 | 31 | # start a mgmt_server (-m) 32 | # start the first node (-t first) 33 | NODE_NAME_AND_PORTS="-n $NAME -p $PORT -y $YAWSPORT" 34 | $DIRNAME/scalarisctl -e "$ERLFLAGS" -m $NODE_NAME_AND_PORTS -t first start 35 | -------------------------------------------------------------------------------- /bin/mgmt-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright 2007-2015 Zuse Institute Berlin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # Script to start an empty Scalaris management server. 17 | ID=0 18 | NAME="mgmt_server" 19 | PORT=$((14195+$ID)) 20 | YAWSPORT=$((8000+$ID)) 21 | 22 | ABSPATH="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" 23 | DIRNAME=`dirname $ABSPATH` 24 | 25 | # start a mgmt_server 26 | MGMT_NAME_AND_PORTS="-n mgmt_server -p 14194 -y 7999 " 27 | $DIRNAME/scalarisctl $MGMT_NAME_AND_PORTS -t nostart -m "$@" start 28 | -------------------------------------------------------------------------------- /bin/quorum_node.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright 2007-2012 Zuse Institute Berlin 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # Script to start a node, that joins a running Scalaris system. 17 | ID=0 18 | 19 | if [ 1 == $# ]; then 20 | ID=$1 21 | shift; 22 | fi 23 | NAME="node$ID" 24 | CSPORT=$((14195+$ID)) 25 | YAWSPORT=$((8000+$ID)) 26 | 27 | ABSPATH="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" 28 | DIRNAME=`dirname $ABSPATH` 29 | 30 | if [ 1 -le $# ]; then 31 | ERLFLAGS="$@" 32 | else 33 | ERLFLAGS=" " 34 | fi 35 | 36 | $DIRNAME/scalarisctl -e "$ERLFLAGS" -n $NAME -p $CSPORT -y $YAWSPORT -t qourum -m -s start 37 | -------------------------------------------------------------------------------- /bin/scalaris.local.cfg.example: -------------------------------------------------------------------------------- 1 | %% userdevguide-begin local_cfg:distributed 2 | % Insert the appropriate IP-addresses for your setup 3 | % as comma separated integers: 4 | % IP Address, Port, and label of the boot server 5 | {mgmt_server, {{127,0,0,1}, 14195, mgmt_server}}. 6 | 7 | % IP Address, Port, and label of a node which is already in the system 8 | {known_hosts, [{{127,0,0,1}, 14195, service_per_vm}]}. 9 | %% userdevguide-end local_cfg:distributed 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /bin/scalaris.local.ssl.bad.cfg: -------------------------------------------------------------------------------- 1 | % default: listen on all interfaces: 2 | {listen_ip, {127,0,0,1}}. 3 | 4 | % default assume local testing 5 | {mgmt_server, {{127,0,0,1},14195,mgmt_server}}. 6 | {known_hosts, [{{127,0,0,1},14195, service_per_vm}]}. 7 | 8 | {ssl, true}. 9 | 10 | {ssl_mode, strict}. 11 | 12 | {comm_backend, ssl}. 13 | 14 | 15 | {ssl_password, "password"}. 16 | 17 | {cacertfile, "../badca.crt"}. 18 | {certfile, "../badclient.crt"}. 19 | {keyfile, "../badclient.key"}. 20 | 21 | -------------------------------------------------------------------------------- /bin/scalaris.local.ssl.cfg: -------------------------------------------------------------------------------- 1 | % default: listen on all interfaces: 2 | {listen_ip, {127,0,0,1}}. 3 | 4 | % default assume local testing 5 | {mgmt_server, {{127,0,0,1},14195,mgmt_server}}. 6 | {known_hosts, [{{127,0,0,1},14195, service_per_vm}]}. 7 | 8 | {ssl, true}. 9 | 10 | {ssl_mode, normal}. 11 | 12 | {comm_backend, ssl}. 13 | 14 | {certfile, "../host.cert"}. 15 | {keyfile, "../host.key"}. 16 | 17 | -------------------------------------------------------------------------------- /bin/scalaris.local.ssl.good.cfg: -------------------------------------------------------------------------------- 1 | % default: listen on all interfaces: 2 | {listen_ip, {127,0,0,1}}. 3 | 4 | % default assume local testing 5 | {mgmt_server, {{127,0,0,1},14195,mgmt_server}}. 6 | {known_hosts, [{{127,0,0,1},14195, service_per_vm}]}. 7 | 8 | {ssl, true}. 9 | 10 | {ssl_mode, strict}. 11 | 12 | {comm_backend, ssl}. 13 | 14 | 15 | {ssl_password, "password"}. 16 | 17 | {cacertfile, "../goodca.crt"}. 18 | {certfile, "../goodclient.crt"}. 19 | {keyfile, "../goodclient.key"}. 20 | 21 | -------------------------------------------------------------------------------- /bin/scalarisctl.conf: -------------------------------------------------------------------------------- 1 | # Copyright 2011-2018 Zuse Institute Berlin 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); you 4 | # may not use this file except in compliance with the License. You 5 | # may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 12 | # implied. See the License for the specific language governing 13 | # permissions and limitations under the License. 14 | 15 | # Scalaris settings 16 | 17 | -------------------------------------------------------------------------------- /contrib/.gitignore: -------------------------------------------------------------------------------- 1 | /*.pyc 2 | -------------------------------------------------------------------------------- /contrib/benchmark/clean.sh: -------------------------------------------------------------------------------- 1 | LOG_FILE=$1 2 | LOG_FILE_CLEAN=`echo $1 | sed 's/log/sum/g'` 3 | cat $LOG_FILE | egrep 1\/s\|NPV | xargs -n 18 | sort -r -n -k 16 > $LOG_FILE_CLEAN 4 | -------------------------------------------------------------------------------- /contrib/benchmark/cluster_run.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | if(@ARGV < 3) { 3 | print "usage: $0 [revision|HEAD] [tcp] Projectname \n"; 4 | exit; 5 | } 6 | $rev = $ARGV[0]; 7 | $cl = $ARGV[1]; 8 | $name = $ARGV[2]."-".$cl."-".$rev."-".`date +%m%d%y%H%M%S`; 9 | chomp($name); 10 | use Template; 11 | my @Servers = (1,2,5,10,20); 12 | my $resdir = `pwd`; 13 | chomp($resdir); 14 | $resdir.="/$name"; 15 | system "mkdir $resdir"; 16 | system "git clone https://github.com/scalaris-team/scalaris.git $resdir/scalaris-read-only && cd $resdir/scalaris-read-only/ && git checkout $rev"; 17 | #build scalairs 18 | system "cd $resdir/scalaris-read-only/ ; ./configure"; 19 | system "cd $resdir/scalaris-read-only/ ; make"; 20 | system "cd $resdir/scalaris-read-only/bin ; chmod u+x bench_master.sh ; chmod u+x bench_slave.sh " ; 21 | my $runfile= $resdir."/qsub.sh"; 22 | open(RUNFILE,">$runfile"); 23 | $resdir =~ s/NFS3/NFS4/g ; 24 | foreach my $s (@Servers) { 25 | my $tt = Template->new; 26 | $tt->process('bench_tt', { server => $s , resdir => $resdir, cl => $cl , scalaris => $resdir."/scalaris-read-only/" , name => $ARGV[2]."-".$cl."-".$rev }, $name."/bench_".$s."_run") 27 | || die $tt->error; 28 | print(RUNFILE "qsub bench_".$s."_run\n"); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /contrib/benchmark/plotall.gnuplot.erb: -------------------------------------------------------------------------------- 1 | set terminal pdf 2 | 3 | set xrange [<%= min_server - 1%>:<%= max_server + 1%>] 4 | set yrange [0:] 5 | 6 | set output "gnuplot/all_reads.pdf" 7 | set xlabel "server" 8 | set ylabel "reads/s" 9 | plot "all.data" using 1:6 title "Reads/s" 10 | 11 | set output "gnuplot/all_increments.pdf" 12 | set xlabel "server" 13 | set ylabel "increments/s" 14 | plot "all.data" using 1:7 title "Increments/s" 15 | 16 | 17 | 18 | 19 | 20 | 21 | set output "gnuplot/top1_reads.pdf" 22 | set xlabel "server" 23 | set ylabel "reads/s" 24 | plot "top1read.data" using 1:6 title "Reads/s" with lines 25 | 26 | set output "gnuplot/top1_increments.pdf" 27 | set xlabel "server" 28 | set ylabel "increments/s" 29 | plot "top1write.data" using 1:7 title "Increments/s" with lines 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /contrib/benchmark/simple.run: -------------------------------------------------------------------------------- 1 | 2 | 3 | ITERATIONS_PER_SERVER=5000 4 | VMS_PER_SERVER_LIST="1 2" 5 | CLIENTS_PER_SERVER_LIST="1 4 8 16 32 64" 6 | CSNODES_PER_SERVER_LIST="1 2 3 5 8 10 32" 7 | 8 | -------------------------------------------------------------------------------- /contrib/chef/apt/TODO.org: -------------------------------------------------------------------------------- 1 | * remove proxy from /etc/apt/apt.conf if it's listed (from preseed install) 2 | * check contents of /etc/apt/apt.conf.d/01proxy 3 | * investigate apt-cacher-ng 4 | -------------------------------------------------------------------------------- /contrib/chef/apt/files/default/apt-cacher: -------------------------------------------------------------------------------- 1 | # apt-cacher startup configuration file 2 | 3 | # IMPORTANT: check the apt-cacher.conf file before using apt-cacher as daemon. 4 | 5 | # set to 1 to start the daemon at boot time 6 | AUTOSTART=1 7 | 8 | # extra settings to override the ones in apt-cacher.conf 9 | # EXTRAOPT=" daemon_port=3142 limit=30 " 10 | -------------------------------------------------------------------------------- /contrib/chef/apt/metadata.rb: -------------------------------------------------------------------------------- 1 | maintainer "Opscode, Inc." 2 | maintainer_email "cookbooks@opscode.com" 3 | license "Apache 2.0" 4 | description "Configures apt and apt services and an LWRP for managing apt repositories" 5 | long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) 6 | version "1.1.2" 7 | recipe "apt", "Runs apt-get update during compile phase and sets up preseed directories" 8 | recipe "apt::cacher", "Set up an APT cache" 9 | recipe "apt::cacher-client", "Client for the apt::cacher server" 10 | 11 | %w{ ubuntu debian }.each do |os| 12 | supports os 13 | end 14 | -------------------------------------------------------------------------------- /contrib/chef/apt/recipes/default.rb: -------------------------------------------------------------------------------- 1 | # 2 | # Cookbook Name:: apt 3 | # Recipe:: default 4 | # 5 | # Copyright 2008-2009, Opscode, Inc. 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); 8 | # you may not use this file except in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # 19 | 20 | e = execute "apt-get update" do 21 | action :nothing 22 | end 23 | 24 | e.run_action(:run) 25 | 26 | %w{/var/cache/local /var/cache/local/preseeding}.each do |dirname| 27 | directory dirname do 28 | owner "root" 29 | group "root" 30 | mode 0755 31 | action :create 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /contrib/chef/scalaris_PIC/metadata.rb: -------------------------------------------------------------------------------- 1 | maintainer "Zuse Institute Berlin" 2 | maintainer_email "kruber@zib.de" 3 | license "Apache 2.0" 4 | description "Installs/Configures Scalaris for the 4CaaSt platform" 5 | #long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) 6 | version "0.0.1" 7 | 8 | depends "apt", "= 1.1.2" 9 | 10 | %w{ debian ubuntu centos redhat fedora suse }.each do |os| 11 | supports os 12 | end 13 | 14 | recipe "scalaris_PIC::Deploy_PIC", "Installs and configures Scalaris" 15 | recipe "scalaris_PIC::Start_PIC", "Starts Scalaris" 16 | recipe "scalaris_PIC::Stop_PIC", "Stops Scalaris" 17 | recipe "scalaris_PIC::Undeploy_PIC", "Undeploys Scalaris" 18 | -------------------------------------------------------------------------------- /contrib/chef/scalaris_PIC/templates/default/initd.conf.erb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SCALARIS_NODE="<%=@scalaris_node%>" 4 | SCALARIS_ADDITIONAL_PARAMETERS="" 5 | -------------------------------------------------------------------------------- /contrib/datanucleus/.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | datanucleus.log 3 | 4 | *.jar 5 | /bin 6 | 7 | # maven 8 | target/ 9 | release.properties 10 | 11 | # eclipse 12 | *.project 13 | *.metadata 14 | *.tmp 15 | local.properties 16 | .loadpath 17 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store-test/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=UTF-8 5 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store-test/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 3 | org.eclipse.jdt.core.compiler.compliance=1.7 4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 5 | org.eclipse.jdt.core.compiler.source=1.7 6 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store-test/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store-test/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # LOG4J Configuration 2 | # =================== 3 | 4 | # Basic logging goes to "datanucleus.log" 5 | log4j.appender.A1=org.apache.log4j.FileAppender 6 | log4j.appender.A1.File=datanucleus.log 7 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n 9 | #log4j.appender.A1.Threshold=INFO 10 | 11 | # Categories 12 | # Each category can be set to a "level", and to direct to an appender 13 | 14 | # Default to DEBUG level for all DataNucleus categories 15 | log4j.logger.DataNucleus = OFF 16 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store-test/src/test/java/de/zib/scalaris/datanucleus/store/test/ScalarisStoreTests.java: -------------------------------------------------------------------------------- 1 | package de.zib.scalaris.datanucleus.store.test; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.junit.runners.Suite; 5 | import org.junit.runners.Suite.SuiteClasses; 6 | 7 | @RunWith(Suite.class) 8 | @SuiteClasses({ TestScalarisStorage.class, TestScalarisQuery.class }) 9 | public class ScalarisStoreTests { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/java=UTF-8 3 | encoding/=UTF-8 4 | encoding/META-INF=UTF-8 5 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/.settings/org.eclipse.jdt.ui.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | formatter_profile=_Eclipse [built-in] (Whitspace only) 3 | formatter_settings_version=12 4 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/License.txt: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Copyright (c) 2013 Orange. All rights reserved. 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | Contributors: 16 | ... 17 | **********************************************************************/ 18 | 19 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: JSON Plug-in 4 | Bundle-SymbolicName: org.datanucleus.store.scalaris;singleton:=true 5 | Bundle-Version: 3.2.0.release 6 | Bundle-Vendor: com.orange.DataNucleus 7 | Require-Bundle: org.datanucleus;bundle-version="3.2.0.m3" 8 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/META-INF/NOTICE.txt: -------------------------------------------------------------------------------- 1 | ========================================================================= 2 | == NOTICE file corresponding to section 4(d) of the Apache License, == 3 | == Version 2.0, in this case for the DataNucleus distribution. == 4 | ========================================================================= 5 | 6 | =================================================================== 7 | This product includes software developed by many individuals, 8 | including the following: 9 | =================================================================== 10 | Erik Bengtson 11 | Andy Jefferson 12 | 13 | 14 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/mkThirdPartyLicenseFile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | 4 | mvn license:aggregate-add-third-party -PlicenseReport 5 | cp target/generated-sources/license/THIRD-PARTY.txt Licences-Third-Party.txt 6 | 7 | -------------------------------------------------------------------------------- /contrib/datanucleus/scalaris-datanucleus-store/start-scalaris.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd $(dirname $0) 4 | 5 | mkdir -p target 6 | cd target 7 | 8 | if [ ! -f scalaris-0.6.0.tar.gz ] 9 | then 10 | wget http://scalaris.googlecode.com/files/scalaris-0.6.0.tar.gz 11 | fi 12 | 13 | if [ ! -d scalaris-0.6.0 ] 14 | then 15 | tar xvfz scalaris-0.6.0.tar.gz 16 | fi 17 | 18 | cd scalaris-0.6.0 19 | 20 | if [ ! -f bin/scalarisctl ] 21 | then 22 | sudo apt-get install erlang make 23 | ./configure 24 | make 25 | fi 26 | 27 | ./bin/scalarisctl -m -s -f start 28 | -------------------------------------------------------------------------------- /contrib/dialyzer-col.sed: -------------------------------------------------------------------------------- 1 | # for color codes see http://en.wikipedia.org/wiki/ANSI_escape_code 2 | # blue bold 3 | s/^.*erl:[0123456789]*/\x1b[1;34m\0\x1b[0m/ 4 | # blue normal 5 | s/is a supertype of the success typing/\x1b[34m\0\x1b[0m/ 6 | s/that the function might also return/\x1b[34m\0\x1b[0m/ 7 | s/but the inferred return is/\x1b[34m\0\x1b[0m/ 8 | s/but this value is unmatched/\x1b[34m\0\x1b[0m/ 9 | # green bold 10 | s/will never be called/\x1b[1;32m\0\x1b[0m/ 11 | s/has no local return/\x1b[1;32m\0\x1b[0m/ 12 | # red bold 13 | s/can never succeed/\x1b[1;31m\0\x1b[0m/ 14 | s/Call to missing or unexported function/\x1b[1;31m\0\x1b[0m/ 15 | s/contains an opaque term/\x1b[1;31m\0\x1b[0m/ 16 | s/contains opaque terms/\x1b[1;31m\0\x1b[0m/ 17 | s/might fail due to a possible race condition/\x1b[1;31m\0\x1b[0m/ 18 | s/breaks the contract/\x1b[1;31m\0\x1b[0m/ 19 | s/breaks the opaqueness of the term/\x1b[1;31m\0\x1b[0m/ 20 | s/can never match/\x1b[1;31m\0\x1b[0m/ 21 | s/Invalid type specification/\x1b[1;31m\0\x1b[0m/ 22 | s/Unknown types:/\x1b[1;31m\0\x1b[0m/ 23 | s/Unknown functions:/\x1b[1;31m\0\x1b[0m/ 24 | 25 | -------------------------------------------------------------------------------- /contrib/dotto/.gitignore: -------------------------------------------------------------------------------- 1 | ebin 2 | logs 3 | -------------------------------------------------------------------------------- /contrib/dotto/Makefile: -------------------------------------------------------------------------------- 1 | PROJECT = dotto 2 | include erlang.mk 3 | -------------------------------------------------------------------------------- /contrib/dotto/ebin/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/dotto/ebin/.gitkeep -------------------------------------------------------------------------------- /contrib/dotto/src/dotto.app.src: -------------------------------------------------------------------------------- 1 | {application, dotto, [ 2 | {description, ""}, 3 | {vsn, "0.1.0"}, 4 | {id, "git"}, 5 | {modules, []}, 6 | {registered, []}, 7 | {applications, [ 8 | kernel, 9 | stdlib 10 | ]} 11 | ]}. 12 | -------------------------------------------------------------------------------- /contrib/init.d/.gitignore: -------------------------------------------------------------------------------- 1 | /scalaris 2 | /scalaris-monitor 3 | /scalaris-first 4 | /scalaris-first-monitor 5 | -------------------------------------------------------------------------------- /contrib/init.d/initd-first.conf: -------------------------------------------------------------------------------- 1 | SCALARIS_NODE="node" 2 | SCALARIS_ADDITIONAL_PARAMETERS="-p 14195 -y 8000 -m -t first" 3 | -------------------------------------------------------------------------------- /contrib/init.d/initd.conf: -------------------------------------------------------------------------------- 1 | SCALARIS_NODE="node1" 2 | SCALARIS_ADDITIONAL_PARAMETERS="-p 14196 -y 8001 -t joining" 3 | -------------------------------------------------------------------------------- /contrib/log4erl-setup.txt: -------------------------------------------------------------------------------- 1 | 16.11.2016: download from https://github.com/ahmednawras/log4erl 2 | 1) download new version 3 | 2) remove append from FILE_OPTIONS in include/log4erl.hrl 4 | 2) add delayed_write to FILE_OPTIONS in include/log4erl.hrl to increase performance at the cost of losing log entries if the log4erl process dies 5 | 7) that's it, go back to / and run ./configure && make 6 | 7 | You probably have to patch log4erl to make the erlang/dev dialyzer happy. 8 | -------------------------------------------------------------------------------- /contrib/log4erl/Makefile: -------------------------------------------------------------------------------- 1 | all: compile 2 | 3 | depends: 4 | ./rebar get-deps 5 | ./rebar update-deps 6 | 7 | compile: 8 | ./rebar compile 9 | 10 | clean: 11 | ./rebar clean 12 | 13 | .PHONY: all depends compile 14 | -------------------------------------------------------------------------------- /contrib/log4erl/TODO.txt: -------------------------------------------------------------------------------- 1 | TODO: 2 | ===== 3 | 4 | * Add formatters functions that can be added to appenders to change 5 | default formatting patters [DONE] 6 | * Add support for pattern appender [DONE] 7 | * Update manual [DONE (latest for log4erl 0.8.2)] 8 | * Add performance benchmarks 9 | * Add support for file-based configuration to log4erl instead of only 10 | programmable-only configuration that is working now [DONE] 11 | * Add support for SNMP appender 12 | * Add support for DB appender (MySQL, Postgres?, Mnesia,...etc) 13 | * Add support for SMTP appender [DONE] 14 | * Add support for NT event appender 15 | * Add support for syslog appender [DONE] 16 | * Add support for NDC/MDC 17 | * Add support for time-based log rotation (file_appender) 18 | 19 | -------------------------------------------------------------------------------- /contrib/log4erl/ebin/log4erl.app: -------------------------------------------------------------------------------- 1 | {application,log4erl, 2 | [{description,"Logger for erlang in the spirit of Log4J"}, 3 | {vsn,"0.9.0"}, 4 | {registered,[log4erl]}, 5 | {applications,[kernel,stdlib]}, 6 | {mod,{log4erl,[]}}, 7 | {start_phases,[]}, 8 | {modules,[console_appender,dummy_appender,email_msg, 9 | error_logger_log4erl_h,file_appender,log4erl, 10 | log4erl_conf,log4erl_lex,log4erl_parser,log4erl_sup, 11 | log4erl_utils,log_filter,log_filter_codegen, 12 | log_formatter,log_manager,logger_guard,smtp_appender, 13 | smtp_fsm,syslog_appender,xml_appender]}]}. 14 | -------------------------------------------------------------------------------- /contrib/log4erl/priv/l4e.conf: -------------------------------------------------------------------------------- 1 | %% Default logger 2 | %% it includes a file appender and a console appender 3 | logger{ 4 | file_appender app2{ 5 | dir = ".", 6 | level = info, 7 | file = my_app, 8 | type = time, 9 | max = 60, 10 | suffix = log, 11 | rotation = 10, 12 | format = '[%L]: %I, %l%n' 13 | } 14 | 15 | console_appender app1{ 16 | level = warn, 17 | format = '%T %j [%L] %l%n' 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contrib/log4erl/src/Makefile: -------------------------------------------------------------------------------- 1 | EBIN_DIR=../ebin 2 | INCLUDE_DIR=../include 3 | ERLS=$(wildcard *.erl) 4 | ERLC=erlc -o $(EBIN_DIR) -I ${INCLUDE_DIR} 5 | BEAMS=$(ERLS:%.erl=$(EBIN_DIR)/%.beam) 6 | 7 | # leave these lines alone 8 | .SUFFIXES: .erl .beam .yrl 9 | 10 | .erl.beam: 11 | $(ERLC) -W $< 12 | 13 | #.yrl.erl: 14 | # $(ERLC)-W $< 15 | 16 | all: compile 17 | 18 | $(EBIN_DIR)/%.beam: %.erl 19 | @echo ">>" compiling: $< 20 | @$(ERLC) $< 21 | 22 | generate_parser: 23 | @echo ">>" generating log4erl_parser.erl from log4erl_parser.yrl $< 24 | erlc log4erl_parser.yrl 25 | 26 | # export LEEX_PATH env var for this to work 27 | generate_lex: 28 | @echo ">>" generating log4erl_lex.erl from log4erl_lex.xrl $< 29 | erl -noinput -noshell -pa $$LEEX_PATH/ebin -s leex file log4erl_lex.xrl -s init stop 30 | 31 | compile: ${BEAMS} 32 | 33 | clean: 34 | rm -rf ../ebin/*.beam erl_crash.dump 35 | -------------------------------------------------------------------------------- /contrib/log4erl/src/dummy_appender.erl: -------------------------------------------------------------------------------- 1 | -module(dummy_appender). 2 | 3 | -include("../include/log4erl.hrl"). 4 | 5 | -behaviour(gen_event). 6 | %% gen_event callbacks 7 | -export([init/1, handle_event/2, handle_call/2, 8 | handle_info/2, terminate/2, code_change/3]). 9 | 10 | -record(state, {}). 11 | 12 | init(_Args) -> 13 | io:format("Initializing dummy_appender with args = ~p~n",[_Args]), 14 | {ok, #state{}}. 15 | 16 | handle_event(_Event, State) -> 17 | io:format("dummy_appender received event ~p~n",[_Event]), 18 | {ok, State}. 19 | 20 | handle_call(_Request, State) -> 21 | io:format("dummy_appender called with message ~p~n",[_Request]), 22 | Reply = ok, 23 | {ok, Reply, State}. 24 | 25 | handle_info(_Info, State) -> 26 | io:format("dummy_appender got info message ~p~n",[_Info]), 27 | {ok, State}. 28 | 29 | terminate(_Reason, _State) -> 30 | ok. 31 | 32 | code_change(_OldVsn, State, _Extra) -> 33 | {ok, State}. 34 | 35 | -------------------------------------------------------------------------------- /contrib/log4erl/src/log4erl.app.src: -------------------------------------------------------------------------------- 1 | %% -*- mode: erlang -*- 2 | 3 | {application, log4erl, 4 | [{description, "Logger for erlang in the spirit of Log4J"}, 5 | {vsn, "0.9.0"}, 6 | {registered,[log4erl]}, 7 | {applications, [kernel,stdlib]}, 8 | {mod, {log4erl,[]}}, 9 | {start_phases, []} 10 | ]}. 11 | -------------------------------------------------------------------------------- /contrib/log4erl/src/log4erl_lex.xrl: -------------------------------------------------------------------------------- 1 | Definitions. 2 | 3 | D = [0-9] 4 | L = [A-Z0-9a-z_] 5 | LS = [][A-Z0-9a-z_\s%*$#@().><:/\-\+,;:?!] 6 | WS = ([\000-\s]|%.*) 7 | 8 | Rules. 9 | 10 | logger : {token,{loger,TokenLine, list_to_atom(TokenChars)}}. 11 | default : {token,{default,TokenLine, list_to_atom(TokenChars)}}. 12 | {D}+ : {token,{integer,TokenLine,list_to_integer(TokenChars)}}. 13 | {L}+ : {token,{atom,TokenLine,list_to_atom(TokenChars)}}. 14 | '{LS}+' : {token,{val,TokenLine,strip(TokenChars,TokenLen)}}. 15 | "{LS}+" : {token,{val,TokenLine,strip(TokenChars,TokenLen)}}. 16 | [{},=] : {token,{list_to_atom(TokenChars),TokenLine}}. 17 | {WS}+ : skip_token. 18 | 19 | Erlang code. 20 | 21 | strip(TokenChars,TokenLen) -> 22 | lists:sublist(TokenChars, 2, TokenLen - 2). 23 | -------------------------------------------------------------------------------- /contrib/log4erl/src/log4erl_parser.yrl: -------------------------------------------------------------------------------- 1 | Nonterminals cutoff_level loggers logger appenders appender props prop value. 2 | 3 | % 'loger' is missing 'g' not to be confused with Nonterminals 4 | % check 'log4erl_conf.xrl' 5 | Terminals '{' '}' ',' '=' 'loger' 'default' 'integer' 'val' 'atom'. 6 | 7 | Rootsymbol cutoff_level. 8 | 9 | cutoff_level -> loggers : '$1'. 10 | cutoff_level -> prop loggers : ['$1'] ++ '$2'. 11 | 12 | loggers -> logger : ['$1']. 13 | loggers -> logger loggers : ['$1'] ++ '$2'. 14 | 15 | logger -> loger value '{' appenders '}' : {logger, '$2', '$4'}. 16 | logger -> loger '{' appenders '}' : {default_logger, '$3'}. 17 | logger -> loger default '{' appenders '}' : {default_logger, '$4'}. 18 | 19 | appenders -> appender : ['$1']. 20 | appenders -> appender appenders : ['$1'] ++ '$2'. 21 | 22 | appender -> value value '{' props '}' : {appender, '$1', '$2', '$4'}. 23 | 24 | props -> prop : ['$1']. 25 | props -> prop ',' props : ['$1'] ++ '$3'. 26 | 27 | prop -> value '=' value : {'$1', '$3'}. 28 | 29 | value -> val : unwrap('$1'). 30 | value -> integer : unwrap('$1'). 31 | value -> atom : unwrap('$1'). 32 | 33 | Erlang code. 34 | 35 | unwrap({_,_,V}) -> V. 36 | -------------------------------------------------------------------------------- /contrib/log4erl/src/log_filter.erl: -------------------------------------------------------------------------------- 1 | %% Author: David Dossot 2 | %% Created: Oct 25, 2009 3 | -module(log_filter). 4 | 5 | -export([cutoff_level/0]). 6 | 7 | cutoff_level() -> all. 8 | -------------------------------------------------------------------------------- /contrib/log4erl/src/log_filter_codegen.erl: -------------------------------------------------------------------------------- 1 | %% Author: David Dossot 2 | %% Created: Oct 25, 2009 3 | %% Description: Generates log_filter based on the log4erl cutoff level. 4 | -module(log_filter_codegen). 5 | 6 | -export([reset/0, set_cutoff_level/1]). 7 | 8 | reset() -> 9 | set_cutoff_level(all). 10 | 11 | set_cutoff_level(CutoffLevel) -> 12 | LogFilterMod = log_filter_mod(CutoffLevel), 13 | compile_and_load_abstract_form(LogFilterMod). 14 | 15 | %% Private functions 16 | compile_and_load_abstract_form(AbsForm) -> 17 | CompRes = compile:forms(AbsForm), 18 | {ok, Mod, Code} = CompRes, 19 | code:purge(Mod), 20 | code:delete(Mod), 21 | {module, _} = load_module(Mod, Code), 22 | ok. 23 | 24 | log_filter_mod(CutoffLevel) -> 25 | [{attribute,1,module,log_filter}, 26 | {attribute,3,export,[{cutoff_level,0}]}, 27 | {function,5,cutoff_level,0,[{clause,5,[],[],[{atom,5,CutoffLevel}]}]}, 28 | {eof,5}]. 29 | -------------------------------------------------------------------------------- /contrib/packages/bindings/debian.compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /contrib/packages/bindings/scalaris-bindings.dsc: -------------------------------------------------------------------------------- 1 | Format: 1.0 2 | Source: scalaris-bindings 3 | Version: 0.9.0+git-1 4 | DEBTRANSFORM-RELEASE: 1 5 | Maintainer: Nico Kruber 6 | Architecture: all 7 | Standards-Version: 3.9.6 8 | Build-Depends: debhelper (>= 4.1.16), erlang-dev (>= 14.b.4), erlang-tools (>= 14.b.4), erlang-edoc (>= 14.b.4), erlang-crypto (>= 14.b.4), ant, openjdk-7-jdk | java6-sdk, pkg-config, ruby, python-dev (>= 2.6.0), python-epydoc, graphviz, python3-dev, automake, libboost-dev (>= 1.47), libboost-regex-dev (>= 1.47), libboost-system-dev (>= 1.47), libboost-test-dev (>= 1.47), libboost-program-options-dev (>= 1.47) 9 | Files: 10 | 6ea6383ef9251ff5ac641df84ddbcba0 2008366 scalaris.orig.tar.gz 11 | 2fecf324a32123b08cefc0f047bca5ee 0 scalaris.diff.tar.gz 12 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/debian.compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/debian.control: -------------------------------------------------------------------------------- 1 | Source: scalaris-examples-wiki 2 | Section: web 3 | Priority: optional 4 | Maintainer: Nico Kruber 5 | Build-Depends: debhelper (>= 4.1.16), ant, openjdk-7-jdk | java6-sdk, scalaris-java (>= 0.8.0) 6 | Homepage: http://scalaris.zib.de 7 | Standards-Version: 3.9.6 8 | 9 | Package: scalaris-examples-wiki-tomcat5 10 | Architecture: all 11 | Depends: ${misc:Depends}, tomcat5, scalaris-java (>= 0.8.0) 12 | Description: Wikipedia on Scalaris example 13 | This web application demonstrates the use of Scalaris as a data-store 14 | back-end for a Wikipedia-like application. 15 | 16 | Package: scalaris-examples-wiki-tomcat6 17 | Architecture: all 18 | Depends: ${misc:Depends}, tomcat6, scalaris-java (>= 0.8.0) 19 | Description: Wikipedia on Scalaris example 20 | This web application demonstrates the use of Scalaris as a data-store 21 | back-end for a Wikipedia-like application. 22 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/debian.scalaris-examples-wiki-tomcat5.conffiles: -------------------------------------------------------------------------------- 1 | /usr/share/tomcat5/webapps/scalaris-wiki/WEB-INF/web.xml 2 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/debian.scalaris-examples-wiki-tomcat6.conffiles: -------------------------------------------------------------------------------- 1 | /usr/share/tomcat6/webapps/scalaris-wiki/WEB-INF/web.xml 2 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/debian.source.lintian-overrides: -------------------------------------------------------------------------------- 1 | scalaris-examples-wiki source: source-is-missing contrib/libsqlite4java-linux-i386.so 2 | scalaris-examples-wiki source: source-is-missing contrib/libsqlite4java-linux-amd64.so 3 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/scalaris-examples-wiki-rpmlintrc: -------------------------------------------------------------------------------- 1 | addFilter("arch-independent-package-contains-binary-or-object.*/usr/share/tomcat.*/webapps/scalaris-wiki/WEB-INF/lib/libsqlite4java.*") 2 | -------------------------------------------------------------------------------- /contrib/packages/examples-wiki/scalaris-examples-wiki.dsc: -------------------------------------------------------------------------------- 1 | Format: 1.0 2 | Source: scalaris-examples-wiki 3 | Version: 0.9.0+git-1 4 | DEBTRANSFORM-RELEASE: 1 5 | Maintainer: Nico Kruber 6 | Architecture: all 7 | Standards-Version: 3.9.6 8 | Build-Depends: debhelper (>= 4.1.16), ant, openjdk-7-jdk | java6-sdk, scalaris-java (>= 0.8.0) 9 | Files: 10 | 6ea6383ef9251ff5ac641df84ddbcba0 2008366 scalaris-examples-wiki.orig.tar.gz 11 | 2fecf324a32123b08cefc0f047bca5ee 0 scalaris-examples-wiki.diff.tar.gz 12 | -------------------------------------------------------------------------------- /contrib/packages/main/debian.compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /contrib/packages/main/debian.scalaris.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [ "$1" = "purge" ]; then 5 | echo "Removing Scalaris RC-links" 6 | update-rc.d -f scalaris remove > /dev/null 7 | fi 8 | 9 | #DEBHELPER# 10 | -------------------------------------------------------------------------------- /contrib/packages/main/debian.scalaris.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # stop before remove 5 | if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then 6 | echo "Stopping Scalaris service..." 7 | if which invoke-rc.d >/dev/null 2>&1; then 8 | invoke-rc.d scalaris stop 9 | else 10 | /etc/init.d/scalaris stop 11 | fi 12 | fi 13 | 14 | #DEBHELPER# 15 | -------------------------------------------------------------------------------- /contrib/packages/main/install: -------------------------------------------------------------------------------- 1 | post_install() { 2 | getent group scalaris &>/dev/null || groupadd -r scalaris 3 | getent passwd scalaris &>/dev/null || mkdir -p /var/lib/scalaris && useradd -r -g scalaris -d /var/lib/scalaris -M -s /bin/false -c "user for scalaris" scalaris && chown scalaris:scalaris /var/lib/scalaris 4 | chown -R scalaris:scalaris /var/log/scalaris 5 | true 6 | } 7 | 8 | post_remove() { 9 | getent passwd scalaris &>/dev/null && userdel scalaris 10 | getent group scalaris &>/dev/null && groupdel scalaris 11 | true 12 | } 13 | -------------------------------------------------------------------------------- /contrib/packages/main/scalaris-rpmlintrc: -------------------------------------------------------------------------------- 1 | addFilter("non-standard-uid.*scalaris") 2 | addFilter("non-standard-gid.*scalaris") 3 | addFilter("file-contains-current-date.*/usr/share/doc/packages/scalaris/erlang/.*\.html") 4 | addFilter("file-contains-date-and-time.*/usr/share/doc/packages/scalaris/erlang/.*\.html") 5 | addFilter("zero-length.*/etc/scalaris/scalaris.local.cfg") 6 | -------------------------------------------------------------------------------- /contrib/packages/main/scalaris.dsc: -------------------------------------------------------------------------------- 1 | Format: 1.0 2 | Source: scalaris 3 | Version: 0.9.0+git-1 4 | DEBTRANSFORM-RELEASE: 1 5 | Binary: scalaris 6 | Maintainer: Nico Kruber 7 | Architecture: all 8 | Standards-Version: 3.9.6 9 | Build-Depends: debhelper (>= 4.1.16), sudo, screen, erlang-dev (>= 14.b.4), erlang-parsetools (>= 14.b.4), erlang-tools (>= 14.b.4), erlang-edoc (>= 14.b.4), erlang-crypto (>= 14.b.4), pkg-config 10 | Files: 11 | 6ea6383ef9251ff5ac641df84ddbcba0 2008366 scalaris.orig.tar.gz 12 | 2fecf324a32123b08cefc0f047bca5ee 0 scalaris.diff.tar.gz 13 | -------------------------------------------------------------------------------- /contrib/rrepair/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore ~ Files 2 | */ 3 | -------------------------------------------------------------------------------- /contrib/rrepair/Makefile.tmpl: -------------------------------------------------------------------------------- 1 | MAKEFLAGS=-k $MAKEFLAGS 2 | SUBDIRS := $(shell ls -d */) 3 | SUBDIRS_DIR := $(patsubst %/,%-dir,$(SUBDIRS)) 4 | SUBDIRS_DIR_CLEAN := $(patsubst %/,%-dir-clean,$(SUBDIRS)) 5 | 6 | .PHONY: all clean subdirs 7 | 8 | all: subdirs 9 | 10 | clean: $(SUBDIRS_DIR_CLEAN) 11 | 12 | subdirs: $(SUBDIRS_DIR) 13 | 14 | # % replaces any name 15 | # within a rule: $@ inserts the target 16 | # $< inserts the first dependency (source) 17 | # $+ inserts a list of all dependencies 18 | # $^ inserts a list of all unique dependencies 19 | # $* inserts the stem an implicit rule matches with 20 | %-dir: % 21 | $(MAKE) -C $< 22 | 23 | %-dir-clean: % 24 | $(MAKE) clean -C $< 25 | -------------------------------------------------------------------------------- /contrib/rrepair/Makefile.tmpl3: -------------------------------------------------------------------------------- 1 | MAKEFLAGS=-k $MAKEFLAGS 2 | GNUPLOT=gnuplot 3 | 4 | .PHONY: all clean 5 | 6 | all: .eval_fprob.gp-done 7 | 8 | .eval_fprob.gp-done: ../eval_merkle.gp Makefile 9 | @echo ">plot using [eval_merkle.gp]" 10 | $(GNUPLOT) -e "colDefFile='../coldefs_eval_point.gp';systemSize=;srcFile1='';srcFile1_title='';<morecommands>maxMerkleBranch=16;maxMerkleBucket=16;destDir='./'" "../eval_merkle.gp" 11 | $(GNUPLOT) -e "colDefFile='../coldefs_eval_point.gp';systemSize=<sys_size>;srcFile1='<dat>';srcFile1_title='<title>';<morecommands>maxMerkleBranch=8;maxMerkleBucket=8;destDir='./';filename='v8_b8'" "../eval_merkle.gp" 12 | @touch $@ 13 | 14 | <dat>: v*/<dat> 15 | @awk '$$2 == "Columns:" {print;exit}' $^ > "$@" 16 | @awk 'NF > 0 && $$1 != "#"' $^ | sort -n -k7 -k8 >> "$@" 17 | 18 | clean: $(SUBDIRS_DIR_CLEAN) 19 | rm -f *.pdf 20 | rm -f .*.gp-done 21 | -------------------------------------------------------------------------------- /contrib/rrepair/README: -------------------------------------------------------------------------------- 1 | This folder contains several utility scripts to evaluate replica repair 2 | (rrepair) algorithms. The Makefile defines several targets running experiments 3 | with Scalaris. The results are then plotted with gnuplot. 4 | 5 | Note that Scalaris itself needs to be configured (best with disabled debug mode 6 | for faster executions) and made. The latter can be repeated with 7 | > make scalaris 8 | 9 | The EVAL_REPEATS variable sets the number of repetitions (100 by default). 10 | The SYSTEM_SIZE variable sets the number of data items of a full DB without 11 | replicas (100000 by default) for non-scale simulations, SYSTEM_SIZE_SCALE 12 | (default: 4000) sets the number of data items to start with in scale 13 | simulations. 14 | Parallel builds are supported. 15 | 16 | Example: 17 | 18 | > make trivial_0-10_expDas_fprob-all/0.001/trivial.dat EVAL_REPEATS=10 19 | 20 | 21 | These targets run the most important pre-defined tests in parallel (2 jobs): 22 | > make -j2 trivial shash bloom merkle 23 | 24 | Manual tests can be run with the help of rr_eval.sh. Please refer to the 25 | examples in the Makefile to create own targets and manual tests. 26 | -------------------------------------------------------------------------------- /contrib/rrepair/gitignore.tmpl2: -------------------------------------------------------------------------------- 1 | /*.pdf 2 | /.*-done 3 | -------------------------------------------------------------------------------- /contrib/slurm/basho-bench.slurm: -------------------------------------------------------------------------------- 1 | #!/bin/bash -l 2 | 3 | ################################################################################ 4 | # 5 | # BASHO BENCH SLURM SCRIPT 6 | # 7 | # Starts a Scalaris ring and sleeps for 365d, canceled through 8 | # the basho-bench.sh script. 9 | # 10 | ################################################################################ 11 | 12 | #SBATCH -J scalaris 13 | #SBATCH -N 1 14 | #SBATCH -p CUMU 15 | #SBATCH -A csr 16 | #SBATCH --exclusive 17 | #SBATCH --time=00:10:00 18 | 19 | # setup Scalaris 20 | source /usr/share/modules/init/bash 21 | source $(pwd)/config/env.sh 22 | print_env 23 | echo "Nodelist: $SLURM_NODELIST" 24 | $(pwd)/util/start-scalaris.sh 25 | 26 | # check that the WD (working dir) is set 27 | if [[ -z $WD ]]; then 28 | echo "WD not set, stopping servers" 29 | $(pwd)/util/stop-scalaris.sh 30 | exit 1 31 | fi 32 | 33 | # create the lock file 34 | # (indicates successfully started scalaris ring to basho-basho.sh) 35 | echo "scalaris started" > $WD/${SLURM_JOBID}.lock 36 | 37 | 38 | SLEEPTIME="365d" 39 | echo "sleeping for $SLEEPTIME, need to cancel manually" 40 | sleep $SLEEPTIME 41 | 42 | echo "stopping servers" 43 | $(pwd)/util/stop-scalaris.sh 44 | echo "stopped servers" 45 | -------------------------------------------------------------------------------- /contrib/slurm/basho_slurm_lg.slurm: -------------------------------------------------------------------------------- 1 | #!/bin/bash -l 2 | 3 | # Use this sbatch script to start the bash-bench benchmarks whilst using 4 | # slurm nodes for load generation (calling basho-bench.sh directly will use 5 | # external load generators as defined by config/basho-bench.cfg) 6 | 7 | #SBATCH -J load_gen_basho 8 | #SBATCH -p CUMU 9 | #SBATCH -N 1 10 | #SBATCH -A csr 11 | #SBATCH -t 10:00:00 12 | #SBATCH --exclusive 13 | #SBATCH -o example.out 14 | 15 | # override of parameters in config/basho-bench.cfg 16 | export LOAD_GENERATORS=1 # load generator are distributed over nodelist 17 | 18 | export KIND='load' 19 | export DURATION=2 20 | export NODES=3 # number of scalaris nodes 21 | export VMS_PER_NODE=1 22 | export WORKERS_PER_LG_SERIES="1 2 4 8 16 32 64 128 256 512 1024 2028" 23 | export OPERATIONS_SERIES="[{put,0},{get,1}] [{put,1},{get,19}] [{put,1},{get,9}] [{put,1},{get,1}] [{put,1},{get,0}]" 24 | 25 | export WD="$CUMUSCRATCH/$USER/example_work_dir_dir" 26 | export RESULT_DIR="/local/$USER/example_local_dir" 27 | 28 | 29 | $(pwd)/basho-bench.sh 30 | -------------------------------------------------------------------------------- /contrib/slurm/example-job-script.slurm: -------------------------------------------------------------------------------- 1 | #!/bin/bash -l 2 | 3 | # -o: output log file: %j for the job ID, %N for the name of the first executing node 4 | # Change the path of the output logfile 5 | 6 | #SBATCH -J bench-script 7 | #SBATCH -N 2 8 | #SBATCH -p CUMU 9 | #SBATCH -A csr 10 | #SBATCH -t 00:03:00 11 | #SBATCH --exclusive 12 | 13 | source $(pwd)/config/env.sh 14 | 15 | #$BINDIR/scalarisctl checkinstallation 16 | check_compile 17 | $(pwd)/util/start-scalaris.sh 18 | 19 | ############################################# 20 | # # 21 | # Place your commands between here # 22 | # # 23 | ############################################# 24 | 25 | sleep 15 26 | 27 | 28 | ############################################# 29 | # # 30 | # and here # 31 | # # 32 | ############################################# 33 | 34 | $(pwd)/util/stop-scalaris.sh 35 | -------------------------------------------------------------------------------- /contrib/slurm/increment-bench.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for NNODES in "2" # 1 2 3 4 5 6 7 8 12 16 24 32 4 | do 5 | for VMS_PER_NODE in "2" # 1 2 4 8 6 | do 7 | for DHT_NODES_PER_VM in "1" # 2 4 8 8 | do 9 | export VMS_PER_NODE=$VMS_PER_NODE 10 | export DHT_NODES_PER_VM=$DHT_NODES_PER_VM 11 | for ITERATION in `seq 1 20` 12 | do 13 | #sbatch --dependency=singleton --job-name scalaris-benchmark -N $NNODES increment-bench.slurm 14 | sbatch --dependency=singleton --job-name scalaris-benchmark -N $NNODES -o slurm-$NNODES-$VMS_PER_NODE-$DHT_NODES_PER_VM-%j.out increment-bench.slurm 15 | done 16 | done 17 | done 18 | done 19 | -------------------------------------------------------------------------------- /contrib/slurm/util/checkdir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | WD=$1 4 | if [[ -z $WD ]]; then 5 | exit 1 6 | fi 7 | 8 | if [ "$(ls $WD)" ]; then 9 | echo "[error] Directory ($WD) on $(hostname -s) is not empty, containing the following files/dirs:" 10 | ls -l1 $WD 11 | exit 1 12 | fi 13 | 14 | -------------------------------------------------------------------------------- /contrib/slurm/util/collect_crashdumps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ############################################################################### 4 | # Author: Jens V. Fischer 5 | # 6 | # Sync all crashdumps from the local direcotry to the given subdirectory. 7 | # 8 | # Call: 9 | # ./collect_crashdumps.sh <jobid> <dir> 10 | # 11 | ############################################################################### 12 | 13 | jobid=${1?"no jobid"} 14 | # subdir to put the crashdumps in 15 | csub_dir=${2?"no dir"} 16 | 17 | # local dir (on the slurm nodes) of the scalaris installation 18 | export SLOCAL_DIR="/local/bzcfisch" 19 | 20 | # base dir for where to sync the crash dumps 21 | cbase_dir="/scratch/bzcfisch" 22 | 23 | export CDIR="$cbase_dir/$csub_dir" 24 | 25 | nodelist=$(echo cumu{01,02}-{00..15}) 26 | 27 | for node in $nodelist; do 28 | srun --jobid=$jobid -A csr -p CUMU -N1 --nodelist=$node bash <<'EOF' 29 | echo "$(hostname)" 30 | rsync -ayhx --progress --executability $SLOCAL_DIR/scalaris/ebin/erl_crash.dump $CDIR/$(hostname -s)_crash.dump 31 | echo "rsync finished with exit code $?" 32 | EOF 33 | done 34 | 35 | -------------------------------------------------------------------------------- /contrib/slurm/util/crashreport.awk: -------------------------------------------------------------------------------- 1 | # Get all crashreports including reports spreading multiple lines 2 | 3 | BEGIN { 4 | crashreport=0 5 | timestamp_pattern="^20[[:digit:]]{2}-[[:digit:]]{2}-[[:digit:]]{2}" 6 | } 7 | 8 | # FILENAME == last_filename { last_filename=FILENAME} 9 | # FILENAME != last_filename { last_filename=FILENAME; print FILENAME} 10 | 11 | crashreport == 1 && $0 ~ timestamp_pattern { crashreport = 0; print ""} # leave crash report 12 | crashreport == 0 && /FD/ { crashreport = 1; print $0 } # enter crash report 13 | crashreport == 1 && $0 !~ timestamp_pattern { print "\t", $0 } # during crash report 14 | -------------------------------------------------------------------------------- /contrib/slurm/util/stop-scalaris.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | srun -N$SLURM_JOB_NUM_NODES --ntasks-per-node=1 bash -c "screen -ls | grep Detached | grep scalaris_ | grep "SLURM_JOBID_${SLURM_JOB_ID}" | cut -d. -f1 | awk '{print $1}' | xargs -r kill" 4 | mv scalaris.local.cfg $ETCDIR 5 | -------------------------------------------------------------------------------- /contrib/slurm/util/sync_scalaris_to_local_dir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SCALARIS_SRC and SCALARIS_DIR inherited from environment 4 | 5 | echo "syncing scalaris to $SCALARIS_DIR on $(hostname -f)" 6 | [[ -d $SCALARIS_DIR ]] || mkdir -p $SCALARIS_DIR 7 | rsync -ayhxq --executability --delete-after $SCALARIS_SRC/ $SCALARIS_DIR/ 8 | (( $? == 0 )) || exit 1 9 | -------------------------------------------------------------------------------- /contrib/slurm/util/toplog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # echo "PID: $$" 4 | 5 | # set -x 6 | LOG="$(hostname -s)_top.log" 7 | SLEEP=1 8 | 9 | if [[ -z $? ]]; then 10 | echo "[error] No basedir as first argument, exiting" 11 | exit 1 12 | else 13 | BASEDIR=$1 14 | fi 15 | 16 | 17 | while true; do 18 | echo "$(date +%y.%m.%d-%H:%M:%S):" >> $BASEDIR/$LOG 19 | top -bn1 | awk 'NR>6 && NR <12{print $0}' >> $BASEDIR/$LOG 20 | echo "" >> $BASEDIR/$LOG 21 | sleep 5 22 | done 23 | -------------------------------------------------------------------------------- /contrib/slurm/util/watchdog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function cleanup_node(){ 4 | screen -ls | grep Detached | grep scalaris_ | grep "SLURM_JOBID_${SLURM_JOB_ID}" | cut -d. -f1 | awk '{print $1}' | xargs -r kill 5 | 6 | return 0 7 | } 8 | 9 | IS_RUNNING=("RUNNING") 10 | SACCT_RES=$(sacct -j $SLURM_JOB_ID -b) 11 | if [[ $? -eq 0 ]]; then 12 | IS_RUNNING=($(echo "$SACCT_RES" | grep $SLURM_JOB_ID | awk '{print $2}')) 13 | fi 14 | while [[ ${IS_RUNNING[0]} == "RUNNING" ]] || [[ ${IS_RUNNING[0]} == "PENDING" ]] ; do 15 | sleep $WATCHDOG_INTERVAL 16 | SACCT_RES=$(sacct -j $SLURM_JOB_ID -b) 17 | if [[ $? -eq 0 ]]; then 18 | IS_RUNNING=($(echo "$SACCT_RES" | grep $SLURM_JOB_ID | awk '{print $2}')) 19 | fi 20 | done 21 | 22 | cleanup_node 23 | 24 | -------------------------------------------------------------------------------- /contrib/systemd/.gitignore: -------------------------------------------------------------------------------- 1 | /*.service 2 | /scalaris.pp 3 | /tmp 4 | -------------------------------------------------------------------------------- /contrib/systemd/README: -------------------------------------------------------------------------------- 1 | NOTE: 2 | For a full SELinux policy, the typical Scalaris ports need to be added to the scalaris_port_t type: 3 | 4 | semanage port -a -t scalaris_port_t -p tcp 14194-14198 5 | semanage port -a -t scalaris_port_t -p tcp 8000-8004 6 | -------------------------------------------------------------------------------- /contrib/systemd/scalaris-first.conf: -------------------------------------------------------------------------------- 1 | SCALARIS_NODE=node 2 | SCALARIS_ADDITIONAL_PARAMETERS=-p 14195 -y 8000 -m -t joining 3 | -------------------------------------------------------------------------------- /contrib/systemd/scalaris.conf: -------------------------------------------------------------------------------- 1 | SCALARIS_NODE=node1 2 | SCALARIS_ADDITIONAL_PARAMETERS=-p 14196 -y 8001 -t first 3 | -------------------------------------------------------------------------------- /contrib/systemd/scalaris.fc: -------------------------------------------------------------------------------- 1 | /var/lib/scalaris(/.*)? gen_context(system_u:object_r:scalaris_file_t,s0) 2 | -------------------------------------------------------------------------------- /contrib/systemd/scalaris.if: -------------------------------------------------------------------------------- 1 | ## <summary>Scalaris node</summary> 2 | -------------------------------------------------------------------------------- /contrib/systemd/scalaris.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Scalaris node 3 | Requires=remote-fs.target 4 | After=remote-fs.target 5 | 6 | [Service] 7 | EnvironmentFile=@sysconfdir@/conf.d/scalaris 8 | ExecStart=@bindir@/scalarisctl -n ${SCALARIS_NODE} -e "-noshell" -l @localstatedir@/log/scalaris $SCALARIS_ADDITIONAL_PARAMETERS start 9 | ExecStop=@bindir@/scalarisctl -n ${SCALARIS_NODE} -e "-noshell" -l @localstatedir@/log/scalaris $SCALARIS_ADDITIONAL_PARAMETERS gstop 10 | 11 | WorkingDirectory=@localstatedir@/log/scalaris 12 | 13 | User=scalaris 14 | Group=scalaris 15 | -------------------------------------------------------------------------------- /contrib/wikipedia/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /.settings 3 | /.classpath 4 | /.project 5 | /*pages-articles.xml* 6 | /*pages-articles*.db 7 | /*pages-meta-history.xml* 8 | /*pages-meta-history*.db 9 | /*pages-meta-current.xml* 10 | /*pages-meta-current*.db 11 | /scalaris-wiki.war 12 | /scalaris-wiki-plugin-api.jar 13 | /.ant-targets-build.xml 14 | /build 15 | /demo*.txt 16 | /*.log 17 | -------------------------------------------------------------------------------- /contrib/wikipedia/README: -------------------------------------------------------------------------------- 1 | == QUICKSTART == 2 | 3 | 1) run 'ant download' to get a wikipedia dump of the simple wiktionary (or download a dump yourself) 4 | 2) start at least one Scalaris node, e.g. by running '../../bin/scalarisctl -f -s -d start' (for a deamonized first node) 5 | 3) import the dump using either of the two following options: 6 | 3a) run 'ant import-xml' and follow the instructions to import data into Scalaris 7 | 3b) run 'ant prepare' to create a prepared dump file for faster dump loads and then use 'ant import-db' with the created DB to import data into Scalaris 8 | 4) run 'ant run' and follow the instructions to get a webserver up and running 9 | 10 | == Creating a scalaris-wiki.war with pre-defined config == 11 | 12 | 1) place your desired scalaris.properties in simplewiki/WEB-INF/ 13 | 2) run 'ant dist' 14 | 15 | Note: Properties inside simplewiki/WEB-INF/scalaris.properties overwrite config parameters provided during 'ant run'! 16 | -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/.gitignore: -------------------------------------------------------------------------------- 1 | /scalaris.jar 2 | /OtpErlang-*.jar 3 | /info.bliki.wiki 4 | -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/.gitignore: -------------------------------------------------------------------------------- 1 | /logs 2 | /work 3 | -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/bin/bootstrap.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/bin/bootstrap.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/bin/commons-daemon-native.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/bin/commons-daemon-native.tar.gz -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/bin/commons-daemon.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/bin/commons-daemon.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/bin/tomcat-juli.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/bin/tomcat-juli.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/bin/tomcat-native.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/bin/tomcat-native.tar.gz -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/annotations-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/annotations-api.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ant.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ant.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ha.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ha.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/catalina-tribes.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/catalina-tribes.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/catalina.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/catalina.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/ecj-4.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/ecj-4.2.2.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/el-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/el-api.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/jasper-el.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/jasper-el.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/jasper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/jasper.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/jsp-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/jsp-api.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/servlet-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/servlet-api.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-api.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-coyote.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-coyote.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-dbcp.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-dbcp.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-es.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-es.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-fr.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-fr.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-ja.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-ja.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-jdbc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-jdbc.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-util.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-util.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/temp/safeToDelete.tmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/apache-tomcat/temp/safeToDelete.tmp -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/webapps/ROOT/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <% 3 | response.sendRedirect("scalaris-wiki"); 4 | %> 5 | -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/apache-tomcat/webapps/scalaris-wiki: -------------------------------------------------------------------------------- 1 | ../../../scalaris-wiki/ -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/bliki-core-3.0.20-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/bliki-core-3.0.20-SNAPSHOT.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/commons-codec-1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/commons-codec-1.6.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/commons-compress-1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/commons-compress-1.6.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/commons-httpclient-3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/commons-httpclient-3.1.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/commons-lang-2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/commons-lang-2.6.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/commons-logging-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/commons-logging-1.1.1.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/java-bloomfilter-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/java-bloomfilter-1.0.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/libsqlite4java-linux-amd64.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/libsqlite4java-linux-amd64.so -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/libsqlite4java-linux-i386.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/libsqlite4java-linux-i386.so -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/libsqlite4java-osx-10.4.jnilib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/libsqlite4java-osx-10.4.jnilib -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/libsqlite4java-osx-ppc.jnilib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/libsqlite4java-osx-ppc.jnilib -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/libsqlite4java-osx.jnilib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/libsqlite4java-osx.jnilib -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/sqlite4java-win32-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/sqlite4java-win32-x64.dll -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/sqlite4java-win32-x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/sqlite4java-win32-x86.dll -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/sqlite4java.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/sqlite4java.jar -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/update-tomcat.txt: -------------------------------------------------------------------------------- 1 | 1) download & extract the new tomcat (binary distribution) 2 | 2) remove <new-tomcat-dir>/webapps/* 3 | 3) move to new tomcat-dir: 4 | <old-tomcat-dir>/webapps/* 5 | <old-tomcat-dir>/.gitignore 6 | <old-tomcat-dir>/logs/.gitignore 7 | <old-tomcat-dir>/work/.gitignore 8 | 4) in <new-tomcat-dir>/conf/server.xml: 9 | 4a) search for the active "Connector" tag and add the following to its properties: 10 | URIEncoding="UTF-8" 11 | -> sets default parameter encoding to UTF-8 (required by the wiki app) 12 | maxHttpHeaderSize="262144" 13 | -> support redirect URLs with a lot of logged involved and failed keys 14 | 5) replace <old-tomcat-dir> with <new-tomcat-dir> 15 | -------------------------------------------------------------------------------- /contrib/wikipedia/contrib/xz-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/contrib/xz-1.4.jar -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/WEB-INF/.gitignore: -------------------------------------------------------------------------------- 1 | /classes 2 | /lib 3 | -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/WEB-INF/dumps/.gitignore: -------------------------------------------------------------------------------- 1 | /* 2 | -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/WEB-INF/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | /* 2 | -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/favicon-wikipedia.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/favicon-wikipedia.ico -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/images/Wikipedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/images/Wikipedia.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/images/image.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/index.jsp: -------------------------------------------------------------------------------- 1 | <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | <jsp:forward page="wiki"/> 3 | -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/11px-Loudspeaker.svg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/11px-Loudspeaker.svg.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/30px-Gnome-speakernotes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/30px-Gnome-speakernotes.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/40px-Tango-video-x-generic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/40px-Tango-video-x-generic.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/Checker-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/Checker-16x16.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/MP-magnifying-glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/MP-magnifying-glass.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/MP-open-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/MP-open-book.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/MP-open-book2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/MP-open-book2.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/add.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/ajax-loader.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/arrow-down-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/arrow-down-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/audio-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/audio-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/border.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/bullet-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/bullet-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/document-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/document-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/edit-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/edit-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/external-link-ltr-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/external-link-ltr-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/external-link-rtl-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/external-link-rtl-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/feed-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/feed-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/file-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/file-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/help-question-hover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/help-question-hover.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/help-question.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/help-question.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/link-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/link-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/lock-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/lock-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/magnify-clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/magnify-clip.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/mail-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/mail-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/news-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/news-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/page-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/page-base.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/page-fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/page-fade.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/portal-break-ltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/portal-break-ltr.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/portal-break-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/portal-break-rtl.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/portal-break.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/portal-break.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/preferences-base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/preferences-base.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/preferences-break.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/preferences-break.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/preferences-edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/preferences-edge.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/preferences-fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/preferences-fade.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/redirectltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/redirectltr.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/remove.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/search-fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/search-fade.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/search-ltr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/search-ltr.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/search-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/search-rtl.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/spinner.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/tab-break.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/tab-break.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/tab-current-fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/tab-current-fade.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/tab-normal-fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/tab-normal-fade.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/talk-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/talk-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/tipsy-arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/tipsy-arrow.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/user-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/user-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/video-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/video-icon.png -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/watch-icon-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/watch-icon-loading.gif -------------------------------------------------------------------------------- /contrib/wikipedia/scalaris-wiki/skins/watch-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/wikipedia/scalaris-wiki/skins/watch-icons.png -------------------------------------------------------------------------------- /contrib/wikipedia/src/de/zib/scalaris/examples/wikipedia/ErlangConverter.java: -------------------------------------------------------------------------------- 1 | package de.zib.scalaris.examples.wikipedia; 2 | 3 | import de.zib.scalaris.ErlangValue; 4 | 5 | /** 6 | * Interface converting an {@link ErlangValue} to a custom type. 7 | * 8 | * @author Nico Kruber, kruber@zib.de 9 | * 10 | * @param <T> the type to convert to 11 | */ 12 | public interface ErlangConverter<T> { 13 | /** 14 | * Converts the given {@link ErlangValue} to the desired type 15 | * 16 | * @param v the value to convert 17 | * 18 | * @return the converted value 19 | * 20 | * @throws ClassCastException if the value can not be converted 21 | */ 22 | public T convert(ErlangValue v) throws ClassCastException; 23 | } -------------------------------------------------------------------------------- /contrib/wikipedia/src/de/zib/scalaris/examples/wikipedia/tomcat/URLParamEncoder.java: -------------------------------------------------------------------------------- 1 | package de.zib.scalaris.examples.wikipedia.tomcat; 2 | 3 | import java.io.UnsupportedEncodingException; 4 | import java.net.URLEncoder; 5 | 6 | public class URLParamEncoder { 7 | 8 | public static String encode(String s) throws UnsupportedEncodingException { 9 | StringBuilder b = new StringBuilder(URLEncoder.encode(s, "UTF-8")); 10 | for (int i = 0; i < s.length(); i++) { 11 | char c = s.charAt(i); 12 | switch (c) { 13 | case '?': 14 | b.append("%3F"); 15 | break; 16 | case '&': 17 | b.append("%26"); 18 | break; 19 | default: 20 | b.append(c); 21 | } 22 | } 23 | return b.toString(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /contrib/yaws-revert-broken-utf8-decoding.patch: -------------------------------------------------------------------------------- 1 | This reverts commit 2e86da12b3ecc4482fd81d454cb4d70bc85269fa from the yaws 2 | sources that broke utf8 decoding for us. It applies to yaws 2.0.4. 3 | 4 | diff --git a/src/json2.erl b/src/json2.erl 5 | index 64a8a4f94..5f395b5dd 100644 6 | --- a/src/json2.erl 7 | +++ b/src/json2.erl 8 | @@ -273,8 +273,7 @@ scan_string([$\\,$u,U1,U2,U3,U4|Rest], A, X) 9 | case erlang:list_to_integer([U1,U2,U3,U4], 16) of 10 | Codepoint when Codepoint > 0 andalso 11 | (Codepoint < 16#d800 orelse Codepoint > 16#dfff) -> 12 | - C = binary_to_list(unicode:characters_to_binary([Codepoint],utf8)), 13 | - scan_string(Rest, lists:reverse(C)++A, X); 14 | + scan_string(Rest, [Codepoint | A], X); 15 | _ -> 16 | Bad = [$\\,$u,U1,U2,U3,U4], 17 | {done, {error, {bad_utf8_char, Bad}}, X} 18 | -------------------------------------------------------------------------------- /contrib/yaws-setup.txt: -------------------------------------------------------------------------------- 1 | 1) download the new version from http://yaws.hyber.org/ 2 | 2) extract somewhere else 3 | 3) copy ebin/, include/, src/, LICENSE, vsn.mk to <scalaris>/contrib/yaws 4 | 4) autoreconf -fi && ./configure --disable-pam && make in the extracted yaws dir (not <scalaris>/contrib/yaws) 5 | 5) copy src/mime_types.erl, src/yaws_appdeps.hrl, src/yaws_charset.hrl and 6 | src/yaws_generated.erl to <scalaris>/contrib/yaws/src 7 | 5a) fix absolute include path in mime_types.erl to "yaws.hrl" 8 | 5b) remove src/*.hrl.in 9 | 5c) apply yaws-revert-broken-utf8-decoding.patch in <scalaris>/contrib/yaws: 10 | patch -p1 < ../yaws-revert-broken-utf8-decoding.patch 11 | 6) in <scalaris>/contrib/yaws: 12 | rm ebin/Makefile.*, include/Makefile.*, src/Makefile.* 13 | echo "/*.beam" > ebin/.gitignore 14 | 7) that's it, go back to <scalaris>/ and run make clean && ./configure && make 15 | 16 | You probably have to patch yaws to make the erlang/dev dialyzer happy. 17 | -------------------------------------------------------------------------------- /contrib/yaws/ebin/.gitignore: -------------------------------------------------------------------------------- 1 | /*.beam 2 | -------------------------------------------------------------------------------- /contrib/yaws/include/soap-envelope.hrl: -------------------------------------------------------------------------------- 1 | %% HRL file generated by ERLSOM 2 | %% 3 | %% It is possible to change the name of the record fields. 4 | %% 5 | %% It is possible to add default values, but be aware that these will 6 | %% only be used when *writing* an xml document. 7 | 8 | -record('soap:UpgradeType', {anyAttribs, 'SupportedEnvelope'}). 9 | -record('soap:SupportedEnvType', {anyAttribs, 'qname'}). 10 | -record('soap:NotUnderstoodType', {anyAttribs, 'qname'}). 11 | -record('soap:detail', {anyAttribs, choice}). 12 | -record('soap:subcode', {anyAttribs, 'Value', 'Subcode'}). 13 | -record('soap:faultcode', {anyAttribs, 'Value', 'Subcode'}). 14 | -record('soap:reasontext', {anyAttribs, 'P:lang', '#text'}). 15 | -record('soap:faultreason', {anyAttribs, 'Text'}). 16 | -record('soap:Fault', {anyAttribs, 'Code', 'Reason', 'Node', 'Role', 'Detail'}). 17 | -record('soap:Body', {anyAttribs, choice}). 18 | -record('soap:Header', {anyAttribs, choice}). 19 | -record('soap:Envelope', {anyAttribs, 'Header', 'Body'}). 20 | -------------------------------------------------------------------------------- /contrib/yaws/include/yaws_dav.hrl: -------------------------------------------------------------------------------- 1 | -ifndef(_YAWS_DAV). 2 | -define(_YAWS_DAV, true). 3 | 4 | -record(resource,{ 5 | name, % normalized name of resource 6 | info % file_info record of mapped file 7 | }). 8 | -record(upload, { 9 | fd, 10 | tempname, 11 | filename 12 | }). 13 | 14 | -endif. 15 | -------------------------------------------------------------------------------- /contrib/yaws/include/yaws_lock.hrl: -------------------------------------------------------------------------------- 1 | -ifndef(_YAWS_LOCK). 2 | -define(_YAWS_LOCK, true). 3 | 4 | -define(LOCK_LIFETIME, 900). % lock lifetime in seconds: 15 minutes 5 | -define(CLEANUP_INTERVAL, 60). % cleanup interval in seconds: 1 minute 6 | 7 | -record(lock,{ 8 | path=undefined, % resource path 9 | id=undefined, % uid 10 | owner=anonymous, % lock owner if submitted 11 | depth=infinity, % 0|infinity 12 | scope=exclusive, % exclusive|shared 13 | type=write, % write 14 | timeout=0, % ?LOCK_LIFETIME or shorter 15 | timestamp=0 % erlang:now() 16 | }). 17 | 18 | -endif. 19 | -------------------------------------------------------------------------------- /contrib/yaws/include/yaws_soap.hrl: -------------------------------------------------------------------------------- 1 | -record(wsdl, {operations, model, module}). 2 | -record(port, {service, port, binding, address}). 3 | -record(operation, {service, port, operation, binding, address, action}). 4 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws.app.src: -------------------------------------------------------------------------------- 1 | {application,yaws, 2 | [{description,"yaws WWW server"}, 3 | {vsn, {cmd, "sed -ne '1,/^YAWS_VSN=/s/^YAWS_VSN=//p' vsn.mk 2>/dev/null"}}, 4 | {modules,[]}, 5 | {registered, []}, 6 | {mod,{yaws_app,[]}}, 7 | {env, [ 8 | % {config, undefined}, % undefined | filename() 9 | % {debug, false}, % true | false 10 | % {trace, false}, % http | traffic | false 11 | % {traceoutput, false}, % true | false 12 | % {conf, "/etc/yaws.conf"}, % string() 13 | % {runmod, mymodule}, % atom() 14 | % {embedded, false}, % true | false 15 | % {id, "default"}, % string() 16 | % {pam_service, "system-auth"}, % string() 17 | % {pam_use_acct, true}, % true | false 18 | % {pam_use_sess, true} % true | false 19 | ]}, 20 | {applications,[kernel,stdlib@APPDEPS@]}]}. 21 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws.appup.src: -------------------------------------------------------------------------------- 1 | {"%VSN%", 2 | [ 3 | ], 4 | [ 5 | ]}. 6 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_app.erl: -------------------------------------------------------------------------------- 1 | %%%---------------------------------------------------------------------- 2 | %%% File : yaws_app.erl 3 | %%% Author : Claes Wikstrom <klacke@bluetail.com> 4 | %%% Purpose : 5 | %%% Created : 16 Jan 2002 by Claes Wikstrom <klacke@hyber.org> 6 | %%%---------------------------------------------------------------------- 7 | 8 | -module(yaws_app). 9 | -author('klacke@hyber.org'). 10 | 11 | 12 | -behaviour(application). 13 | -export([start/2,stop/1]). 14 | 15 | %% start 16 | 17 | start(_Type, _StartArgs) -> 18 | yaws_sup:start_link(). 19 | 20 | %% stop 21 | 22 | stop(_State) -> 23 | ok. 24 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_appdeps.hrl: -------------------------------------------------------------------------------- 1 | -define(YAWS_APPDEPS, ""). 2 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_appmod_cgi.erl: -------------------------------------------------------------------------------- 1 | %%% File : yaws_appmod_cgi.erl 2 | %%% Author : Claes Wikstrom <klacke@hyber.org> 3 | %%% Description : 4 | %%% Created : 10 Mar 2008 by Claes Wikstrom <klacke@hyber.org> 5 | 6 | -module(yaws_appmod_cgi). 7 | -export([out/1]). 8 | -include("../include/yaws_api.hrl"). 9 | 10 | out(Arg) -> 11 | yaws_cgi:call_cgi(Arg, lists:flatten(Arg#arg.fullpath)). 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_appmod_fcgi.erl: -------------------------------------------------------------------------------- 1 | %%% File : yaws_appmod_fcgi.erl 2 | %%% Author : Bruno Rijsman <brunorijsman@hotmail.com> 3 | %%% Description : Application module for FastCGI virtual paths. 4 | %%% Created : 9 Jul 2009 5 | 6 | -module(yaws_appmod_fcgi). 7 | -export([out/1]). 8 | -include("../include/yaws_api.hrl"). 9 | 10 | out(Arg) -> 11 | yaws_cgi:call_fcgi_responder(Arg). 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_charset.hrl: -------------------------------------------------------------------------------- 1 | -define(YAWS_CHARSET, undefined). 2 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_exhtml.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/yaws/src/yaws_exhtml.erl -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_generated.erl: -------------------------------------------------------------------------------- 1 | %%%---------------------------------------------------------------------- 2 | %%% File : yaws_generated.template 3 | %%% Author : Klacke <klacke@bluetail.com> 4 | %%% Purpose : 5 | %%% Created : 10 Jun 2002 by Klacke <klacke@bluetail.com> 6 | %%%---------------------------------------------------------------------- 7 | 8 | %% generated code from some environment variables 9 | 10 | -module(yaws_generated). 11 | -author('klacke@bluetail.com'). 12 | 13 | -export([version/0, 14 | vardir/0, 15 | etcdir/0]). 16 | 17 | version() -> "2.0.4". 18 | 19 | vardir() -> "/usr/local/var". 20 | 21 | etcdir() -> "/usr/local/etc". 22 | 23 | 24 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_generated.template: -------------------------------------------------------------------------------- 1 | %%%---------------------------------------------------------------------- 2 | %%% File : yaws_generated.template 3 | %%% Author : Klacke <klacke@bluetail.com> 4 | %%% Purpose : 5 | %%% Created : 10 Jun 2002 by Klacke <klacke@bluetail.com> 6 | %%%---------------------------------------------------------------------- 7 | 8 | %% generated code from some environment variables 9 | 10 | -module(yaws_generated). 11 | -author('klacke@bluetail.com'). 12 | 13 | -export([version/0, 14 | vardir/0, 15 | etcdir/0]). 16 | 17 | version() -> "%VSN%". 18 | 19 | vardir() -> "%VARDIR%". 20 | 21 | etcdir() -> "%ETCDIR%". 22 | 23 | 24 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_jsonrpc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/yaws/src/yaws_jsonrpc.erl -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_ls.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/yaws/src/yaws_ls.erl -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_rpc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/yaws/src/yaws_rpc.erl -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_ticker.erl: -------------------------------------------------------------------------------- 1 | -module(yaws_ticker). 2 | -author('klacke@bluetail.com'). 3 | 4 | -export([ticker/3]). 5 | 6 | %% Moved here from module yaws to ease purging of yaws. 7 | %% cschultz 8 | 9 | ticker(Time, To, Msg) -> 10 | receive 11 | {'EXIT', _, _} -> 12 | exit(normal) 13 | after Time -> 14 | To ! Msg 15 | end, 16 | ?MODULE:ticker(Time, To, Msg). 17 | -------------------------------------------------------------------------------- /contrib/yaws/src/yaws_xmlrpc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/yaws/src/yaws_xmlrpc.erl -------------------------------------------------------------------------------- /contrib/yaws/vsn.mk: -------------------------------------------------------------------------------- 1 | YAWS_VSN=2.0.4 2 | -------------------------------------------------------------------------------- /contrib/ycsb/.gitignore: -------------------------------------------------------------------------------- 1 | /elasticsearch/target/ 2 | -------------------------------------------------------------------------------- /contrib/ycsb/BUILD: -------------------------------------------------------------------------------- 1 | # Building YCSB 2 | 3 | To build YCSB, run: 4 | 5 | mvn clean package 6 | 7 | # Running YCSB 8 | 9 | Once `mvn clean package` succeeds, you can run `ycsb` command: 10 | 11 | ./bin/ycsb load basic workloads/workloada 12 | ./bin/ycsb run basic workloads/workloada 13 | 14 | # Oracle NoSQL Database 15 | 16 | Oracle NoSQL Database binding doesn't get built by default because there is no 17 | Maven repository for it. To build the binding: 18 | 19 | 1. Download kv-ce-1.2.123.tar.gz from here: 20 | 21 | http://www.oracle.com/technetwork/database/nosqldb/downloads/index.html 22 | 23 | 2. Untar kv-ce-1.2.123.tar.gz and install kvclient-1.2.123.jar in your local 24 | maven repository: 25 | 26 | tar xfvz kv-ce-1.2.123.tar.gz 27 | mvn install:install-file -Dfile=kv-1.2.123/lib/kvclient-1.2.123.jar \ 28 | -DgroupId=com.oracle -DartifactId=kvclient -Dversion=1.2.123 29 | -Dpackaging=jar 30 | 31 | 3. Uncomment `<module>nosqldb</module>` and run `mvn clean package`. 32 | -------------------------------------------------------------------------------- /contrib/ycsb/NOTICE.txt: -------------------------------------------------------------------------------- 1 | ========================================================================= 2 | NOTICE file for use with, and corresponding to Section 4 of, 3 | the Apache License, Version 2.0, 4 | in this case for the YCSB project. 5 | ========================================================================= 6 | 7 | This product includes software developed by 8 | Yahoo! Inc. (www.yahoo.com) 9 | Copyright (c) 2010 Yahoo! Inc. All rights reserved. 10 | -------------------------------------------------------------------------------- /contrib/ycsb/README: -------------------------------------------------------------------------------- 1 | Yahoo! Cloud System Benchmark (YCSB) 2 | ==================================== 3 | 4 | Links 5 | ----- 6 | http://wiki.github.com/brianfrankcooper/YCSB/ 7 | http://research.yahoo.com/Web_Information_Management/YCSB 8 | ycsb-users@yahoogroups.com 9 | 10 | Getting Started 11 | --------------- 12 | 13 | 1. Download the latest release of YCSB: 14 | 15 | wget https://github.com/downloads/brianfrankcooper/YCSB/ycsb-0.1.4.tar.gz 16 | tar xfvz ycsb-0.1.4 17 | cd ycsb-0.1.4 18 | 19 | 2. Set up a database to benchmark. There is a README file under each binding 20 | directory. 21 | 22 | 3. Run YCSB command. 23 | 24 | bin/ycsb load basic -P workloads/workloada 25 | bin/ycsb run basic -P workloads/workloada 26 | 27 | Running the `ycsb` command without any argument will print the usage. 28 | 29 | See https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload 30 | for a detailed documentation on how to run a workload. 31 | 32 | See https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties for 33 | the list of available workload properties. 34 | -------------------------------------------------------------------------------- /contrib/ycsb/core/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /contrib/ycsb/core/src/test/java/com/yahoo/ycsb/TestByteIterator.java: -------------------------------------------------------------------------------- 1 | package com.yahoo.ycsb; 2 | 3 | import org.testng.annotations.Test; 4 | import static org.testng.AssertJUnit.*; 5 | 6 | public class TestByteIterator { 7 | @Test 8 | public void testRandomByteIterator() { 9 | int size = 100; 10 | ByteIterator itor = new RandomByteIterator(size); 11 | assertTrue(itor.hasNext()); 12 | assertEquals(size, itor.bytesLeft()); 13 | assertEquals(size, itor.toString().getBytes().length); 14 | assertFalse(itor.hasNext()); 15 | assertEquals(0, itor.bytesLeft()); 16 | 17 | itor = new RandomByteIterator(size); 18 | assertEquals(size, itor.toArray().length); 19 | assertFalse(itor.hasNext()); 20 | assertEquals(0, itor.bytesLeft()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contrib/ycsb/doc/images/ycsb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/ycsb/doc/images/ycsb.jpg -------------------------------------------------------------------------------- /contrib/ycsb/doc/images/ycsblogo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/ycsb/doc/images/ycsblogo-small.png -------------------------------------------------------------------------------- /contrib/ycsb/doc/javadoc/com/yahoo/ycsb/workloads/package-frame.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 | <!--NewPage--> 3 | <HTML> 4 | <HEAD> 5 | <!-- Generated by javadoc (build 1.6.0_03) on Wed May 12 14:51:53 PDT 2010 --> 6 | <TITLE> 7 | com.yahoo.ycsb.workloads 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | com.yahoo.ycsb.workloads 20 | 21 | 22 | 27 | 28 |
23 | Classes  24 | 25 |
26 | CoreWorkload
29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /contrib/ycsb/doc/javadoc/package-list: -------------------------------------------------------------------------------- 1 | com.yahoo.ycsb 2 | com.yahoo.ycsb.db 3 | com.yahoo.ycsb.generator 4 | com.yahoo.ycsb.measurements 5 | com.yahoo.ycsb.workloads 6 | -------------------------------------------------------------------------------- /contrib/ycsb/doc/javadoc/resources/inherit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/contrib/ycsb/doc/javadoc/resources/inherit.gif -------------------------------------------------------------------------------- /contrib/ycsb/scalaris/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /contrib/ycsb/scalaris/README.md: -------------------------------------------------------------------------------- 1 | Scalaris YCSB Client 2 | ==================== 3 | 4 | The Scalaris client is not yet part of the official YCSB bundle but a fork of 5 | YCSB with the necessary implementation is available on GitHub. 6 | 7 | Compile 8 | ------- 9 | 10 | Check out the fork of YCSB with branch scalaris: 11 | 12 | git clone git://github.com/mxm/YCSB.git -b scalaris 13 | 14 | Build with Maven: 15 | 16 | cd YCSB 17 | mvn package 18 | 19 | Run 20 | --- 21 | 22 | ./bin/ycsb load scalaris -P workloads/workloada 23 | ./bin/ycsb run scalaris -P workloads/workloada 24 | 25 | Troubleshooting 26 | --------------- 27 | 28 | If you're experiencing problems, first make sure Scalaris is running. You can pass configuration parameters to YCBS. For instance, if your first Scalaris node is node1@localhost, the configuration looks as follows: 29 | 30 | ./bin/ycsb load scalaris -P workloads/workloada -p scalaris.node="node1@localhost" 31 | 32 | The following parameters with their default values are available: 33 | 34 | scalaris.node = "node1@localhost" 35 | scalaris.name = "YCSB" 36 | scalaris.cookie = "chocolate chip cookie" 37 | -------------------------------------------------------------------------------- /cpp-api/.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | -------------------------------------------------------------------------------- /cpp-api/.gitignore: -------------------------------------------------------------------------------- 1 | libscalaris.a 2 | Makefile 3 | *.d 4 | *.o 5 | tests 6 | *.o.json 7 | -------------------------------------------------------------------------------- /cpp-api/include/module.modulemap: -------------------------------------------------------------------------------- 1 | module scalaris_Connection { 2 | module Connection { header "connection.hpp" } 3 | } 4 | 5 | module scalaris_Converter { 6 | module Converter { header "converter.hpp" } 7 | } 8 | 9 | module scalaris_Exceptions { 10 | module Exceptions { header "exceptions.hpp" } 11 | } 12 | 13 | module scalaris_Rbr { 14 | module Rbr { header "rbr.hpp" } 15 | } 16 | 17 | module scalaris_ReqList { 18 | module ReqList { header "req-list.hpp" } 19 | } 20 | 21 | module scalaris_RoutingTable { 22 | module RoutingTable { header "routing-table.hpp" } 23 | } 24 | 25 | module scalaris_SSLConnection { 26 | module SSLConnection { header "ssl-connection.hpp" } 27 | } 28 | 29 | module scalaris_TCPConnection { 30 | module TCPConnection { header "tcp-connection.hpp" } 31 | } 32 | 33 | module scalaris_TransactionSingleOp { 34 | module TransactionSingleOp { header "transaction-single-op.hpp" } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /cpp-api/src/connection.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2015-2018 Zuse Institute Berlin 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #include "connection.hpp" 16 | 17 | namespace scalaris { 18 | 19 | Connection::Connection(const std::string& _hostname, const std::string& _link, 20 | unsigned _port) 21 | : hostname(_hostname), link(_link), port(_port) {} 22 | 23 | } // namespace scalaris 24 | -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | /* 2 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | /*.html 2 | /erlang.png 3 | /transstore 4 | /pubsub 5 | /edoc-info 6 | /comm_layer 7 | /stylesheet.css 8 | /cyclon 9 | /simulation 10 | /paxos 11 | /transactions 12 | /grouped_node 13 | /Thumbs.db 14 | -------------------------------------------------------------------------------- /doc/overview.edoc: -------------------------------------------------------------------------------- 1 | @copyright 2007-2011 Zuse Institute Berlin 2 | @version $Id$ 3 | @title Scalaris 4 | 5 | @doc 6 | == Introduction == 7 | 8 | Scalaris is a distributed key-value store with support for 9 | transactions. 10 | 11 | -------------------------------------------------------------------------------- /doc/scale-read.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/doc/scale-read.pdf -------------------------------------------------------------------------------- /doc/scale-write.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/doc/scale-write.pdf -------------------------------------------------------------------------------- /docroot/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/api/autoscale.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_autoscale:handler(Operation, Params). 7 | 8 | -------------------------------------------------------------------------------- /docroot/api/dht_raw.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_dht_raw:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/monitor.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_monitor:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/rbr.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_rbr:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/rdht.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_rdht:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/rt.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_rt:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/tx.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_tx:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/api/vm.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json_vm:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/dcMap.yaws: -------------------------------------------------------------------------------- 1 | 2 | % vim: set ft=erlang: 3 | out(_A) -> 4 | {Nodes, Centroids, Epoch, Radius} = webhelpers:getDCClustersAndNodes(), 5 | 6 | NodesJSON = webhelpers:format_nodes(Nodes), 7 | CentroidsJSON = webhelpers:format_centroids(Centroids), 8 | 9 | %% this is actually json, but we\"ll trick yaws. YAWS doesn\"t know json as a return 10 | % atom here. 11 | {html, io_lib:format("{ 12 | \"nodes\":~s, 13 | \"centroids\":~s, 14 | \"epoch\":~p, 15 | \"cluster_radius\":~p 16 | }",[NodesJSON, CentroidsJSON, Epoch, Radius])} 17 | . 18 | 19 | -------------------------------------------------------------------------------- /docroot/debug.css: -------------------------------------------------------------------------------- 1 | .folder .x-tree-node-icon{ 2 | background:transparent url(folder.gif); 3 | } 4 | .x-tree-node-expanded .x-tree-node-icon{ 5 | background:transparent url(folder-open.gif); 6 | } 7 | 8 | #tree { 9 | float: left; 10 | margin: 5px; 11 | width: 225px; 12 | height: 800px; 13 | } 14 | 15 | #table { 16 | float: left; 17 | margin: 5px; 18 | width: 675px; 19 | height: 800px; 20 | } 21 | -------------------------------------------------------------------------------- /docroot/doc: -------------------------------------------------------------------------------- 1 | ../doc -------------------------------------------------------------------------------- /docroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/favicon.ico -------------------------------------------------------------------------------- /docroot/flot/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007-2009 IOLA and Ole Laursen 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /docroot/flot/VERSION: -------------------------------------------------------------------------------- 1 | 0.7 2 | -------------------------------------------------------------------------------- /docroot/flot/jquery.flot.resize.min.js: -------------------------------------------------------------------------------- 1 | (function(n,p,u){var w=n([]),s=n.resize=n.extend(n.resize,{}),o,l="setTimeout",m="resize",t=m+"-special-event",v="delay",r="throttleWindow";s[v]=250;s[r]=true;n.event.special[m]={setup:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.add(a);n.data(this,t,{w:a.width(),h:a.height()});if(w.length===1){q()}},teardown:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.not(a);a.removeData(t);if(!w.length){clearTimeout(o)}},add:function(b){if(!s[r]&&this[l]){return false}var c;function a(d,h,g){var f=n(this),e=n.data(this,t);e.w=h!==u?h:f.width();e.h=g!==u?g:f.height();c.apply(this,arguments)}if(n.isFunction(b)){c=b;return a}else{c=b.handler;b.handler=a}}};function q(){o=p[l](function(){w.each(function(){var d=n(this),a=d.width(),b=d.height(),c=n.data(this,t);if(a!==c.w||b!==c.h){d.trigger(m,[c.w=a,c.h=b])}});q()},s[v])}})(jQuery,this);(function(b){var a={};function c(f){function e(){var h=f.getPlaceholder();if(h.width()==0||h.height()==0){return}f.resize();f.setupGrid();f.draw()}function g(i,h){i.getPlaceholder().resize(e)}function d(i,h){i.getPlaceholder().unbind("resize",e)}f.hooks.bindEvents.push(g);f.hooks.shutdown.push(d)}b.plot.plugins.push({init:c,options:a,name:"resize",version:"1.0"})})(jQuery); -------------------------------------------------------------------------------- /docroot/flot/jquery.flot.symbol.min.js: -------------------------------------------------------------------------------- 1 | (function(b){function a(h,e,g){var d={square:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI)/2;k.rect(j-l,n-l,l+l,l+l)},diamond:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI/2);k.moveTo(j-l,n);k.lineTo(j,n-l);k.lineTo(j+l,n);k.lineTo(j,n+l);k.lineTo(j-l,n)},triangle:function(l,k,o,j,n){var m=j*Math.sqrt(2*Math.PI/Math.sin(Math.PI/3));var i=m*Math.sin(Math.PI/3);l.moveTo(k-m/2,o+i/2);l.lineTo(k+m/2,o+i/2);if(!n){l.lineTo(k,o-i/2);l.lineTo(k-m/2,o+i/2)}},cross:function(k,j,n,i,m){var l=i*Math.sqrt(Math.PI)/2;k.moveTo(j-l,n-l);k.lineTo(j+l,n+l);k.moveTo(j-l,n+l);k.lineTo(j+l,n-l)}};var f=e.points.symbol;if(d[f]){e.points.symbol=d[f]}}function c(d){d.hooks.processDatapoints.push(a)}b.plot.plugins.push({init:c,name:"symbols",version:"1.0"})})(jQuery); -------------------------------------------------------------------------------- /docroot/flot/jquery.flot.threshold.min.js: -------------------------------------------------------------------------------- 1 | (function(B){var A={series:{threshold:null}};function C(D){function E(L,S,M){if(!S.threshold){return }var F=M.pointsize,I,O,N,G,K,H=B.extend({},S);H.datapoints={points:[],pointsize:F};H.label=null;H.color=S.threshold.color;H.threshold=null;H.originSeries=S;H.data=[];var P=S.threshold.below,Q=M.points,R=S.lines.show;threspoints=[];newpoints=[];for(I=0;I0&&Q[I-F]!=null){var J=(O-Q[I-F])/(N-Q[I-F+1])*(P-N)+O;K.push(J);K.push(P);for(m=2;m0){L.getData().push(H)}}D.hooks.processDatapoints.push(E)}B.plot.plugins.push({init:C,options:A,name:"threshold",version:"1.0"})})(jQuery); -------------------------------------------------------------------------------- /docroot/folder-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/folder-open.gif -------------------------------------------------------------------------------- /docroot/folder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/folder.gif -------------------------------------------------------------------------------- /docroot/graphs/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/icons/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/icons/aa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/aa.gif -------------------------------------------------------------------------------- /docroot/icons/at.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/at.gif -------------------------------------------------------------------------------- /docroot/icons/au.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/au.gif -------------------------------------------------------------------------------- /docroot/icons/be.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/be.gif -------------------------------------------------------------------------------- /docroot/icons/br.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/br.gif -------------------------------------------------------------------------------- /docroot/icons/ca.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/ca.gif -------------------------------------------------------------------------------- /docroot/icons/ch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/ch.gif -------------------------------------------------------------------------------- /docroot/icons/cn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/cn.gif -------------------------------------------------------------------------------- /docroot/icons/cz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/cz.gif -------------------------------------------------------------------------------- /docroot/icons/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/de.gif -------------------------------------------------------------------------------- /docroot/icons/edu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/edu.gif -------------------------------------------------------------------------------- /docroot/icons/es.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/es.gif -------------------------------------------------------------------------------- /docroot/icons/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/fr.gif -------------------------------------------------------------------------------- /docroot/icons/gr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/gr.gif -------------------------------------------------------------------------------- /docroot/icons/hk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/hk.gif -------------------------------------------------------------------------------- /docroot/icons/hu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/hu.gif -------------------------------------------------------------------------------- /docroot/icons/il.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/il.gif -------------------------------------------------------------------------------- /docroot/icons/in.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/in.gif -------------------------------------------------------------------------------- /docroot/icons/it.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/it.gif -------------------------------------------------------------------------------- /docroot/icons/jp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/jp.gif -------------------------------------------------------------------------------- /docroot/icons/kr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/kr.gif -------------------------------------------------------------------------------- /docroot/icons/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/nl.gif -------------------------------------------------------------------------------- /docroot/icons/no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/no.gif -------------------------------------------------------------------------------- /docroot/icons/pl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/pl.gif -------------------------------------------------------------------------------- /docroot/icons/pr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/pr.gif -------------------------------------------------------------------------------- /docroot/icons/pt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/pt.gif -------------------------------------------------------------------------------- /docroot/icons/se.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/se.gif -------------------------------------------------------------------------------- /docroot/icons/sg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/sg.gif -------------------------------------------------------------------------------- /docroot/icons/tw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/tw.gif -------------------------------------------------------------------------------- /docroot/icons/uk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/uk.gif -------------------------------------------------------------------------------- /docroot/icons/unknown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/unknown.gif -------------------------------------------------------------------------------- /docroot/icons/us.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/icons/us.gif -------------------------------------------------------------------------------- /docroot/ie55-.css: -------------------------------------------------------------------------------- 1 | div.nothighlighted { 2 | width: 120px; 3 | } 4 | 5 | div.nothighlightedlast { 6 | width: 120px; 7 | } 8 | 9 | div.highlighted { 10 | width: 120px; 11 | } 12 | 13 | div.highlightedlast { 14 | width: 120px; 15 | } 16 | 17 | div.subnothighlighted { 18 | width: 100px; 19 | } 20 | div.subnothighlightedlast { 21 | width: 100px; 22 | } 23 | 24 | div.subhighlighted { 25 | width: 100px; 26 | } 27 | div.subhighlightedlast { 28 | width: 100px; 29 | } 30 | -------------------------------------------------------------------------------- /docroot/images/default/dd/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/images/default/dd/drop-add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/dd/drop-add.gif -------------------------------------------------------------------------------- /docroot/images/default/dd/drop-no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/dd/drop-no.gif -------------------------------------------------------------------------------- /docroot/images/default/dd/drop-yes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/dd/drop-yes.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/images/default/grid/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/Thumbs.db -------------------------------------------------------------------------------- /docroot/images/default/grid/arrow-left-white.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/arrow-left-white.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/arrow-right-white.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/arrow-right-white.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/col-move-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/col-move-bottom.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/col-move-top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/col-move-top.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/columns.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/columns.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/dirty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/dirty.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/done.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/done.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/drop-no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/drop-no.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/drop-yes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/drop-yes.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/footer-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/footer-bg.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-blue-hd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-blue-hd.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-blue-split.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-blue-split.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-hrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-hrow.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-loading.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-split.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-split.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid-vista-hd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid-vista-hd.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid3-hd-btn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid3-hd-btn.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid3-hrow-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid3-hrow-over.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid3-hrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid3-hrow.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid3-special-col-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid3-special-col-bg.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/grid3-special-col-sel-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/grid3-special-col-sel-bg.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/group-by.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/group-by.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/group-expand-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/group-expand-sprite.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hd-pop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hd-pop.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-asc.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-desc.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-lock.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-lock.png -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-unlock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-unlock.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/hmenu-unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/hmenu-unlock.png -------------------------------------------------------------------------------- /docroot/images/default/grid/invalid_line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/invalid_line.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/loading.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/mso-hd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/mso-hd.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/nowait.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/nowait.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-first-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-first-disabled.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-first.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-first.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-last-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-last-disabled.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-last.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-next-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-next-disabled.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-next.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-prev-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-prev-disabled.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/page-prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/page-prev.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/pick-button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/pick-button.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/refresh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/refresh.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/row-check-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/row-check-sprite.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/row-expand-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/row-expand-sprite.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/row-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/row-over.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/row-sel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/row-sel.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/sort_asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/sort_asc.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/sort_desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/sort_desc.gif -------------------------------------------------------------------------------- /docroot/images/default/grid/wait.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/grid/wait.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/images/default/panel/corners-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/corners-sprite.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/left-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/left-right.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/light-hd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/light-hd.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/tool-sprite-tpl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/tool-sprite-tpl.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/tool-sprites.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/tool-sprites.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/tools-sprites-trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/tools-sprites-trans.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/top-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/top-bottom.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/top-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/top-bottom.png -------------------------------------------------------------------------------- /docroot/images/default/panel/white-corners-sprite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/white-corners-sprite.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/white-left-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/white-left-right.gif -------------------------------------------------------------------------------- /docroot/images/default/panel/white-top-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/panel/white-top-bottom.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/.gitignore: -------------------------------------------------------------------------------- 1 | /Thumbs.db 2 | -------------------------------------------------------------------------------- /docroot/images/default/tree/arrows.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/arrows.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-add.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-between.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-between.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-no.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-over.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-under.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-under.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/drop-yes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/drop-yes.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-end-minus-nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-end-minus-nl.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-end-minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-end-minus.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-end-plus-nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-end-plus-nl.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-end-plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-end-plus.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-end.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-line.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-minus-nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-minus-nl.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-minus.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-plus-nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-plus-nl.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow-plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow-plus.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/elbow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/elbow.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/folder-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/folder-open.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/folder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/folder.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/leaf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/leaf.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/loading.gif -------------------------------------------------------------------------------- /docroot/images/default/tree/s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/images/default/tree/s.gif -------------------------------------------------------------------------------- /docroot/jsonrpc.yaws: -------------------------------------------------------------------------------- 1 | 2 | -compile(export_all). 3 | -include("yaws_handler.hrl"). 4 | 5 | forward_to_handler(Operation, Params) -> 6 | api_json:handler(Operation, Params). 7 | 8 | 9 | -------------------------------------------------------------------------------- /docroot/plot_ring.js: -------------------------------------------------------------------------------- 1 | function plot_ring(ring, colors) { 2 | $.plot($("#ring"), ring, { 3 | series: { 4 | pie: { 5 | show: true, 6 | radius: 0.9, 7 | innerRadius: 0.4, 8 | label: { 9 | show: true, 10 | radius: 1.0, 11 | formatter: function(label, series) { 12 | return '
'+label+'
'; 13 | }, 14 | background: { opacity: 0.5, color: '#000000' }, 15 | threshold: 0.03 16 | } 17 | } 18 | }, 19 | legend: { show: false }, 20 | grid: { hoverable: true, clickable: true }, 21 | colors: colors 22 | }); 23 | $("#ring").bind("plothover", pieHover); 24 | $("#ring").bind("plotclick", pieClick); 25 | } 26 | 27 | function pieHover(event, pos, obj) { 28 | if (!obj) 29 | return; 30 | percent = parseFloat(obj.series.percent).toFixed(2); 31 | $("#ringhover").html(''+obj.series.label+' ('+percent+'%)'); 32 | } 33 | 34 | function pieClick(event, pos, obj) { 35 | if (!obj) 36 | return; 37 | percent = parseFloat(obj.series.percent).toFixed(2); 38 | alert(''+obj.series.label+': '+percent+'%'); 39 | } 40 | -------------------------------------------------------------------------------- /docroot/processinfo.yaws: -------------------------------------------------------------------------------- 1 | 2 | out(A) -> 3 | {_, Group} = lists:keyfind("group", 1, yaws_api:parse_query(A)), 4 | {_, Id} = lists:keyfind("id", 1, yaws_api:parse_query(A)), 5 | if Group =:= undefined -> 6 | {ehtml, {pre, [], ""}}; 7 | Id =:= undefined -> 8 | {ehtml, {pre, [], ""}}; 9 | true -> 10 | {html, json2:encode(pid_groups:get_web_debug_info(Group, Id))} 11 | end. 12 | 13 | -------------------------------------------------------------------------------- /docroot/processtree.yaws: -------------------------------------------------------------------------------- 1 | 2 | out(A) -> 3 | IsPost = webhelpers:isPost(A), 4 | if 5 | IsPost -> 6 | case postvar(A, "node") of 7 | {ok, "processTreeRoot"} -> 8 | {html, json2:encode(pid_groups:groups_as_json())}; 9 | {ok, Node} -> 10 | {html, json2:encode(pid_groups:members_by_name_as_json(Node))}; 11 | _ -> 12 | {ehtml, {pre, [], ""}} 13 | end; 14 | true -> 15 | {ehtml, {pre, [], ""}} 16 | end. 17 | 18 | -------------------------------------------------------------------------------- /docroot/tablesort/blue/asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/tablesort/blue/asc.gif -------------------------------------------------------------------------------- /docroot/tablesort/blue/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/tablesort/blue/bg.gif -------------------------------------------------------------------------------- /docroot/tablesort/blue/desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/docroot/tablesort/blue/desc.gif -------------------------------------------------------------------------------- /docroot/vivaldiMap.yaws: -------------------------------------------------------------------------------- 1 | 2 | out(Arg) -> 3 | Nodes = webhelpers:getVivaldiMap(), 4 | NodesJSON = webhelpers:format_nodes(Nodes), 5 | 6 | {html, io_lib:format("{ 7 | \"nodes\":~s 8 | }",[NodesJSON])} 9 | . 10 | 11 | -------------------------------------------------------------------------------- /ebin/.gitignore: -------------------------------------------------------------------------------- 1 | /*.beam 2 | /erl_crash.dump 3 | /auth.log 4 | /localhost.access 5 | /report.log 6 | -------------------------------------------------------------------------------- /include/.gitignore: -------------------------------------------------------------------------------- 1 | /autoconf.hrl 2 | /rt.hrl 3 | -------------------------------------------------------------------------------- /include/gen_component.hrl: -------------------------------------------------------------------------------- 1 | % @copyright 2015 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Thorsten Schuett 16 | %% @doc change the first function in processes from gen_component:start/5 17 | %% to ?MODULE:start_gen_component/5 18 | %% @end 19 | 20 | -export([start_gen_component/5]). 21 | -spec start_gen_component(module(), gen_component:handler(), term(), 22 | [gen_component:option()], pid()) -> 23 | no_return() | ok. 24 | start_gen_component(Module, Handler, Args, Options, Self) -> 25 | gen_component:start(Module, Handler, Args, Options, Self). 26 | 27 | -------------------------------------------------------------------------------- /include/record_helpers.hrl: -------------------------------------------------------------------------------- 1 | % @copyright 2010-2018 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Nico Kruber 16 | %% @doc Helper macros for record definitions 17 | %% @end 18 | %% @version $Id$ 19 | 20 | % thanks to Vincent de Phily for this macro to specify required fields in 21 | % record where no hard-coded value makes sense at the time of the type 22 | % definition: 23 | -define(required(Record, Field), 24 | throw({record_field_required, Record, Field, ?MODULE})). 25 | -------------------------------------------------------------------------------- /include/rt.hrl.in: -------------------------------------------------------------------------------- 1 | -include("@RT@.hrl"). 2 | -------------------------------------------------------------------------------- /include/rt_chord.hrl: -------------------------------------------------------------------------------- 1 | %%Standard Chord routingtable 2 | 3 | -define(RT, rt_chord). 4 | % first valid key: 5 | -define(MINUS_INFINITY, 0). 6 | -define(MINUS_INFINITY_TYPE, 0). 7 | % first invalid key: 8 | -define(PLUS_INFINITY, 16#100000000000000000000000000000000). 9 | -define(PLUS_INFINITY_TYPE, 16#100000000000000000000000000000000). 10 | -------------------------------------------------------------------------------- /include/rt_frt.hrl: -------------------------------------------------------------------------------- 1 | %% Flexible Routing Tables 2 | -define(RT, rt_frt). 3 | % first valid key: 4 | -define(MINUS_INFINITY, 0). 5 | -define(MINUS_INFINITY_TYPE, 0). 6 | % first invalid key: 7 | -define(PLUS_INFINITY, 16#100000000000000000000000000000000). 8 | -define(PLUS_INFINITY_TYPE, 16#100000000000000000000000000000000). 9 | -------------------------------------------------------------------------------- /include/rt_gfrt.hrl: -------------------------------------------------------------------------------- 1 | %% Grouped Flexible Routing Table 2 | -define(GFRT, true). 3 | -define(RT, rt_frt). 4 | 5 | % first valid key: 6 | -define(MINUS_INFINITY, 0). 7 | -define(MINUS_INFINITY_TYPE, 0). 8 | % first invalid key: 9 | -define(PLUS_INFINITY, 16#100000000000000000000000000000000). 10 | -define(PLUS_INFINITY_TYPE, 16#100000000000000000000000000000000). 11 | -------------------------------------------------------------------------------- /include/rt_simple.hrl: -------------------------------------------------------------------------------- 1 | %%simple routingtable 2 | 3 | -define(RT, rt_simple). 4 | % first valid key: 5 | -define(MINUS_INFINITY, 0). 6 | -define(MINUS_INFINITY_TYPE, 0). 7 | % first invalid key: 8 | -define(PLUS_INFINITY, 16#100000000000000000000000000000000). 9 | -define(PLUS_INFINITY_TYPE, 16#100000000000000000000000000000000). 10 | -------------------------------------------------------------------------------- /include/types.hrl: -------------------------------------------------------------------------------- 1 | % @copyright 2010-2012 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Nico Kruber 16 | %% @doc Type definitions of non-existing, opaque or custom types which can 17 | %% be used independently from the erlang version. 18 | %% @end 19 | %% @version $Id$ 20 | 21 | % add type defs if required... 22 | 23 | %% more restrictive (and correct) definition of the timestamp type: 24 | -type erlang_timestamp() :: {MegaSecs::non_neg_integer(), 25 | Secs::0..999999, 26 | MicroSecs::0..999999}. 27 | -------------------------------------------------------------------------------- /java-api/.gitignore: -------------------------------------------------------------------------------- 1 | /doc 2 | /doc-devel 3 | /doc-doxygen 4 | /scalaris 5 | /scalaris-examples.jar 6 | /chordsharp4j-examples.jar 7 | /Scalaris.properties 8 | /chordsharp4j.jar 9 | /ChordSharpConnection.properties 10 | /classes 11 | /scalaris.jar 12 | /scalaris-lib.jar 13 | /chordsharp4j-lib.jar 14 | /bin 15 | /chordsharp4j.zip 16 | /chordsharp4j.tar.bz2 17 | /scalaris.tar.bz2 18 | /chordsharp4j.tar.gz 19 | /scalaris.properties 20 | /scalaris.zip 21 | /scalaris.tar.gz 22 | /.ant-targets-build.xml 23 | /junit*.properties 24 | /junitvmwatcher*.properties 25 | /scalaris-java.conf 26 | -------------------------------------------------------------------------------- /java-api/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Scalaris-JavaAPI 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | 19 | 1398446030089 20 | 21 | 10 22 | 23 | org.eclipse.ui.ide.multiFilter 24 | 1.0-name-matches-true-false-doc 25 | 26 | 27 | 28 | 1398446030096 29 | 30 | 10 31 | 32 | org.eclipse.ui.ide.multiFilter 33 | 1.0-name-matches-true-false-classes 34 | 35 | 36 | 37 | 1398446030107 38 | 39 | 10 40 | 41 | org.eclipse.ui.ide.multiFilter 42 | 1.0-name-matches-true-false-target 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /java-api/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.6 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.source=1.6 13 | -------------------------------------------------------------------------------- /java-api/doc-contrib/apache_commons_cli/package-list: -------------------------------------------------------------------------------- 1 | org.apache.commons.cli 2 | -------------------------------------------------------------------------------- /java-api/doc-contrib/jinterface/package-list: -------------------------------------------------------------------------------- 1 | com.ericsson.otp.erlang 2 | -------------------------------------------------------------------------------- /java-api/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /jakarta-commons-cli-*-javadoc.jar 2 | /jakarta-commons-cli-*-sources.jar 3 | -------------------------------------------------------------------------------- /java-api/lib/OtpErlang-1.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/lib/OtpErlang-1.6.1.jar -------------------------------------------------------------------------------- /java-api/lib/ant_doxygen.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/lib/ant_doxygen.jar -------------------------------------------------------------------------------- /java-api/lib/jakarta-commons-cli-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/lib/jakarta-commons-cli-1.2.jar -------------------------------------------------------------------------------- /java-api/src/de/zib/scalaris/examples/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2007-2011 Zuse Institute Berlin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * This package contains examples how to use the classes of the 18 | * {@link de.zib.scalaris} package. 19 | * 20 | * @author Nico Kruber, kruber@zib.de 21 | * @version 2.9 22 | * @since 2.0 23 | */ 24 | package de.zib.scalaris.examples; 25 | -------------------------------------------------------------------------------- /java-api/src/de/zib/scalaris/operations/TransactionOperation.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2012 Zuse Institute Berlin 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package de.zib.scalaris.operations; 17 | 18 | import de.zib.scalaris.Transaction; 19 | 20 | /** 21 | * An operation suitable for use in {@link Transaction}. 22 | * 23 | * @author Nico Kruber, kruber@zib.de 24 | * @version 3.14 25 | * @since 3.14 26 | */ 27 | public interface TransactionOperation extends Operation { 28 | } 29 | -------------------------------------------------------------------------------- /java-api/src/scalaris.properties: -------------------------------------------------------------------------------- 1 | # the name of the scalaris node to establish the connection to 2 | scalaris.node=node@localhost,node1@localhost,node2@localhost,node3@localhost 3 | 4 | # the cookie the scalaris node uses for connections 5 | scalaris.cookie=chocolate chip cookie 6 | 7 | # the name of the (Java) client to use when establishing a connection with erlang 8 | scalaris.client.name=java_client 9 | 10 | # specifies whether to append an UUID to client names or not 11 | scalaris.client.appendUUID=true 12 | -------------------------------------------------------------------------------- /java-api/test-lib/annotations-api.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/annotations-api.jar -------------------------------------------------------------------------------- /java-api/test-lib/ant-junit-1.9.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/test-lib/ant-junit-1.9.0.jar -------------------------------------------------------------------------------- /java-api/test-lib/bootstrap.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/bin/bootstrap.jar -------------------------------------------------------------------------------- /java-api/test-lib/catalina-ant.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ant.jar -------------------------------------------------------------------------------- /java-api/test-lib/catalina-ha.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/catalina-ha.jar -------------------------------------------------------------------------------- /java-api/test-lib/catalina-tribes.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/catalina-tribes.jar -------------------------------------------------------------------------------- /java-api/test-lib/catalina.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/catalina.jar -------------------------------------------------------------------------------- /java-api/test-lib/commons-codec-1.6.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/commons-codec-1.6.jar -------------------------------------------------------------------------------- /java-api/test-lib/commons-daemon.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/bin/commons-daemon.jar -------------------------------------------------------------------------------- /java-api/test-lib/ecj-4.2.2.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/ecj-4.2.2.jar -------------------------------------------------------------------------------- /java-api/test-lib/el-api.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/el-api.jar -------------------------------------------------------------------------------- /java-api/test-lib/hamcrest-core-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/test-lib/hamcrest-core-1.3.jar -------------------------------------------------------------------------------- /java-api/test-lib/jasper-el.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/jasper-el.jar -------------------------------------------------------------------------------- /java-api/test-lib/jasper.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/jasper.jar -------------------------------------------------------------------------------- /java-api/test-lib/jetty-util-8.0.4.v20111024.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/test-lib/jetty-util-8.0.4.v20111024.jar -------------------------------------------------------------------------------- /java-api/test-lib/jsp-api.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/jsp-api.jar -------------------------------------------------------------------------------- /java-api/test-lib/junit-4.11.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/java-api/test-lib/junit-4.11.jar -------------------------------------------------------------------------------- /java-api/test-lib/servlet-api.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/servlet-api.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-api.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-api.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-coyote.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-coyote.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-dbcp.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-dbcp.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-i18n-es.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-es.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-i18n-fr.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-fr.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-i18n-ja.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-i18n-ja.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-jdbc.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-jdbc.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-juli.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/bin/tomcat-juli.jar -------------------------------------------------------------------------------- /java-api/test-lib/tomcat-util.jar: -------------------------------------------------------------------------------- 1 | ../../contrib/wikipedia/contrib/apache-tomcat/lib/tomcat-util.jar -------------------------------------------------------------------------------- /java-api/test/de/zib/tools/test.properties: -------------------------------------------------------------------------------- 1 | cs.node=ahz2ieSh 2 | cs.cookie=wooPhu8u 3 | -------------------------------------------------------------------------------- /java-api/test/scalaris.properties: -------------------------------------------------------------------------------- 1 | # the name of the scalaris node to establish the connection to 2 | scalaris.node=node1@localhost 3 | 4 | # the cookie the scalaris node uses for connections 5 | scalaris.cookie=chocolate chip cookie 6 | 7 | # the name of the (Java) client to use when establishing a connection with erlang 8 | scalaris.client.name=java_client 9 | 10 | # specifies whether to append an UUID to client names or not 11 | scalaris.client.appendUUID=true 12 | -------------------------------------------------------------------------------- /log/.gitignore: -------------------------------------------------------------------------------- 1 | /* 2 | -------------------------------------------------------------------------------- /priv/.gitignore: -------------------------------------------------------------------------------- 1 | *.so 2 | -------------------------------------------------------------------------------- /python-api/.gitignore: -------------------------------------------------------------------------------- 1 | /*.pyc 2 | /*.pyo 3 | /.* 4 | /scalaris 5 | -------------------------------------------------------------------------------- /python-api/doc/.gitignore: -------------------------------------------------------------------------------- 1 | /html 2 | /pdf 3 | -------------------------------------------------------------------------------- /python-api/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from distutils.core import setup 4 | 5 | setup(name='scalaris', 6 | version='0.9.0+git', 7 | description='Scalaris python bindings', 8 | author='Nico Kruber', 9 | author_email='kruber@zib.de', 10 | url='https://code.google.com/p/scalaris/', 11 | py_modules=['scalaris', 'scalaris_bench'], 12 | ) 13 | -------------------------------------------------------------------------------- /ruby-api/.gitignore: -------------------------------------------------------------------------------- 1 | /*.gem 2 | /.buildpath 3 | /.project 4 | /scalaris 5 | -------------------------------------------------------------------------------- /ruby-api/scalaris.gemspec: -------------------------------------------------------------------------------- 1 | # coding: UTF-8 2 | 3 | Gem::Specification.new do |s| 4 | s.name = "scalaris" 5 | s.version = "0.0.1" 6 | s.platform = Gem::Platform::RUBY 7 | s.authors = ["Nico Kruber, Florian Schintke, Thorsten Schütt"] 8 | s.email = ["scalaris@googlegroups.com"] 9 | s.homepage = "https://code.google.com/p/scalaris/" 10 | s.summary = "Ruby bindings for Scalaris" 11 | s.description = "Ruby bindings for Scalaris" 12 | 13 | s.required_rubygems_version = ">= 1.3.6" 14 | 15 | # If you have runtime dependencies, add them here 16 | s.add_runtime_dependency "json", ">= 1.4.0" 17 | 18 | # If you have development dependencies, add them here 19 | # s.add_development_dependency "another", "= 0.9" 20 | 21 | # The list of files to be contained in the gem 22 | s.files = Dir["scalaris.rb", "scalarisclient.rb"] 23 | s.bindir = '.' 24 | s.executables = Dir["scalarisclient.rb"] 25 | # s.extensions = Dir["ext/extconf.rb"] 26 | 27 | # s.require_path = 'lib' 28 | 29 | # For C extensions 30 | # s.extensions = "ext/extconf.rb" 31 | end 32 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | /.webhelpers.erl.swp 2 | /.self_man.erl.swp 3 | /.cs_api.erl.swp 4 | -------------------------------------------------------------------------------- /src/api_dht.erl: -------------------------------------------------------------------------------- 1 | % @copyright 2007-2011 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Thorsten Schuett 16 | %% @doc API for access to the non replicated DHT items. 17 | %% @end 18 | %% @version $Id$ 19 | -module(api_dht). 20 | -author('schuett@zib.de'). 21 | -vsn('$Id$'). 22 | 23 | -export([hash_key/1]). 24 | 25 | -include("scalaris.hrl"). 26 | -include("client_types.hrl"). 27 | 28 | -spec hash_key(client_key()) -> ?RT:key(). 29 | hash_key(Key) -> ?RT:hash_key(Key). 30 | -------------------------------------------------------------------------------- /src/lb_psv_beh.hrl: -------------------------------------------------------------------------------- 1 | % @copyright 2010-2011 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Nico Kruber 16 | %% @doc Common types and function specs for passive load balancing algorithm 17 | %% implementations. 18 | %% @end 19 | %% @version $Id$ 20 | 21 | -include("scalaris.hrl"). 22 | 23 | -export([get_number_of_samples/1, get_number_of_samples_remote/2, 24 | create_join/4, sort_candidates/1, 25 | process_join_msg/3, 26 | check_config/0]). 27 | -------------------------------------------------------------------------------- /src/rm_beh.hrl: -------------------------------------------------------------------------------- 1 | % @copyright 2010-2011 Zuse Institute Berlin 2 | 3 | % Licensed under the Apache License, Version 2.0 (the "License"); 4 | % you may not use this file except in compliance with the License. 5 | % You may obtain a copy of the License at 6 | % 7 | % http://www.apache.org/licenses/LICENSE-2.0 8 | % 9 | % Unless required by applicable law or agreed to in writing, software 10 | % distributed under the License is distributed on an "AS IS" BASIS, 11 | % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | % See the License for the specific language governing permissions and 13 | % limitations under the License. 14 | 15 | %% @author Nico Kruber 16 | %% @doc Common types and function specs for ring maintenance implementations. 17 | %% @end 18 | %% @version $Id$ 19 | 20 | -export_type([state/0, custom_message/0]). 21 | 22 | -export([init_first/0, init/3, trigger_action/1, handle_custom_message/2, 23 | trigger_interval/0, 24 | zombie_node/2, fd_notify/4, 25 | new_pred/2, new_succ/2, 26 | update_node/2, contact_new_nodes/1, 27 | get_neighbors/1, 28 | get_web_debug_info/1, 29 | check_config/0, 30 | unittest_create_state/1]). 31 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | /*.beam 2 | -------------------------------------------------------------------------------- /test/all_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, all}. 4 | {skip_suites, tests, [performance_SUITE], "ignore benchmarks"}. 5 | {skip_suites, tests, [scalaris_cth_SUITE], "only for debugging scalaris_cth.erl"}. 6 | -------------------------------------------------------------------------------- /test/all_with_cover_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | {cover, "scalaris.coverspec"}. 3 | 4 | {suites, tests, all}. 5 | {skip_suites, tests, [performance_SUITE], "ignore benchmarks"}. 6 | {skip_suites, tests, [scalaris_cth_SUITE], "only for debugging scalaris_cth.erl"}. 7 | -------------------------------------------------------------------------------- /test/buildbot_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, all}. 4 | 5 | {skip_suites, tests, [benchmark_SUITE], "ignore benchmarks"}. 6 | {skip_suites, tests, [performance_SUITE], "ignore benchmarks"}. 7 | {skip_suites, tests, [rr_recon_performance_SUITE], "ignore benchmarks"}. 8 | {skip_cases, tests, histogram_SUITE, [perf_add], "ignore benchmarks"}. 9 | {skip_suites, tests, [scalaris_cth_SUITE], "only for debugging scalaris_cth.erl"}. 10 | 11 | -------------------------------------------------------------------------------- /test/gossip_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {cases, tests, type_check_SUITE, [tester_type_check_gossip]}. 4 | {suites, tests, [gossip_SUITE, gossip_cyclon_SUITE, gossip_vivaldi_SUITE]}. 5 | -------------------------------------------------------------------------------- /test/gossip_types_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {cases, tests, type_check_SUITE, [tester_type_check_gossip]}. 4 | -------------------------------------------------------------------------------- /test/leases_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [l_on_cseq_SUITE]}. 4 | {suites, tests, [mockup_l_on_cseq_SUITE]}. 5 | 6 | {suites, tests, [slide_leases_SUITE]}. 7 | {suites, tests, [rm_leases_SUITE]}. 8 | 9 | {suites, tests, [consistent_lookup_leases_SUITE]}. 10 | 11 | {suites, tests, [crash_recovery_SUITE]}. 12 | 13 | {suites, tests, [recover_mnesia_SUITE]}. 14 | -------------------------------------------------------------------------------- /test/non_deterministic_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [slide_leases_SUITE]}. 4 | -------------------------------------------------------------------------------- /test/performance_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [performance_SUITE]}. 4 | {suites, tests, [benchmark_SUITE]}. 5 | {suites, tests, [rr_recon_performance_SUITE]}. 6 | 7 | {cases, tests, histogram_SUITE, [perf_add]}. 8 | -------------------------------------------------------------------------------- /test/proto_sched_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [proto_sched_SUITE]}. 4 | 5 | {suites, tests, [api_tx_proto_sched_SUITE]}. 6 | {suites, tests, [dht_node_move_proto_sched_SUITE]}. 7 | {suites, tests, [join_leave_proto_sched_SUITE]}. 8 | {suites, tests, [mr_proto_sched_SUITE]}. 9 | {suites, tests, [rrepair_proto_sched_SUITE]}. 10 | 11 | {groups, tests, crdt_SUITE, [proto_sched_group]}. 12 | 13 | -------------------------------------------------------------------------------- /test/repeated_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {groups, tests, recover_mnesia_SUITE, repeater}. 4 | -------------------------------------------------------------------------------- /test/rrepair_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [db_generator_SUITE]}. 4 | {suites, tests, [bloom_SUITE]}. 5 | {suites, tests, [merkle_tree_SUITE]}. 6 | {suites, tests, [art_SUITE]}. 7 | {suites, tests, [iblt_SUITE]}. 8 | {suites, tests, [rrepair_SUITE]}. 9 | {suites, tests, [rrepair_proto_sched_SUITE]}. 10 | %{suites, tests, [rr_recon_performance_SUITE]}. 11 | 12 | {cases, tests, type_check_SUITE, [tester_type_check_rrepair]}. 13 | -------------------------------------------------------------------------------- /test/scalaris.coverspec: -------------------------------------------------------------------------------- 1 | {level, details}. 2 | 3 | {incl_dirs_r, ["ebin"]}. 4 | -------------------------------------------------------------------------------- /test/skipped_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [proto_sched_SUITE]}. 4 | {suites, tests, [api_tx_proto_sched_SUITE]}. 5 | {suites, tests, [dht_node_move_proto_sched_SUITE]}. 6 | {suites, tests, [join_leave_proto_sched_SUITE]}. 7 | {suites, tests, [mr_proto_sched_SUITE]}. 8 | {suites, tests, [rrepair_proto_sched_SUITE]}. 9 | {suites, tests, [memtest_SUITE]}. 10 | {suites, tests, [type_check_SUITE]}. 11 | 12 | {cases, tests, l_on_cseq_SUITE, [tester_type_check_l_on_cseq]}. 13 | {cases, tests, prbr_SUITE, [tester_type_check_rbr]}. 14 | {cases, tests, rm_leases_SUITE, [tester_type_check_rm_leases]}. 15 | {cases, tests, slide_leases_SUITE, [tester_type_check_slide_leases]}. 16 | -------------------------------------------------------------------------------- /test/ssl_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [l_on_cseq_SUITE]}. 4 | 5 | -------------------------------------------------------------------------------- /test/tester_randomized_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {groups, tests, db_dht_SUITE, [tester_tests]}. 4 | {groups, tests, db_ets_SUITE, [tester_tests]}. 5 | {groups, tests, intervals_SUITE, [tester_tests]}. 6 | {groups, tests, node_details_SUITE, [tester_tests]}. 7 | {groups, tests, rrd_SUITE, [tester_tests]}. 8 | {groups, tests, rrepair_SUITE, [tester_tests]}. 9 | 10 | {suites, tests, [unittest_helper_SUITE]}. 11 | {suites, tests, [db_generator_SUITE]}. 12 | 13 | % @todo add dht_node_move_SUITE 14 | % @todo add util_SUITE -------------------------------------------------------------------------------- /test/type_check_TESTS.cfg: -------------------------------------------------------------------------------- 1 | {alias, tests, "."}. 2 | 3 | {suites, tests, [type_check_SUITE]}. 4 | 5 | {cases, tests, l_on_cseq_SUITE, [tester_type_check_l_on_cseq]}. 6 | {cases, tests, prbr_SUITE, [tester_type_check_rbr]}. 7 | {cases, tests, rm_leases_SUITE, [tester_type_check_rm_leases]}. 8 | {cases, tests, slide_leases_SUITE, [tester_type_check_slide_leases]}. 9 | -------------------------------------------------------------------------------- /user-dev-guide/.gitignore: -------------------------------------------------------------------------------- 1 | /*.aux 2 | /*.log 3 | /*.idx 4 | /*.toc 5 | /*.out 6 | /*.ilg 7 | /*.ind 8 | .project 9 | .settings 10 | .texlipse 11 | tmp 12 | /Thumbs.db 13 | /*.eps 14 | /*.synctex.gz 15 | -------------------------------------------------------------------------------- /user-dev-guide/Makefile: -------------------------------------------------------------------------------- 1 | LATEX=pdflatex 2 | FILE=main.tex 3 | all: 4 | ../bin/scalarisctl -h > scalarisctl-h.out 5 | ../java-api/scalaris --noconfig --help > scalaris-client-java.out 6 | ../python-api/scalaris --help > scalaris-client-python.out 7 | ../ruby-api/scalaris --help > scalaris-client-ruby.out 8 | $(MAKE) -C rrepair 9 | $(LATEX) $(FILE) | awk -f ./latex-col.awk 10 | makeindex main 11 | $(LATEX) $(FILE) | awk -f ./latex-col.awk 12 | @while ( grep "Rerun to get cross-references" \ 13 | $(subst .tex,.log, $(FILE)) > /dev/null ); do \ 14 | echo '*** Going to Rerun LaTeX ***'; \ 15 | $(LATEX) $(FILE) | awk -f ./latex-col.awk; \ 16 | done 17 | 18 | clean: 19 | rm -f *.aux *.ind *.ilg *.idx *.log *.out *.toc 20 | -------------------------------------------------------------------------------- /user-dev-guide/dev-dirs.tex: -------------------------------------------------------------------------------- 1 | \chapter{Directory Structure of the Source Code} 2 | 3 | The directory tree of \scalaris{} is structured as follows: 4 | 5 | \vspace*{1em} 6 | \begin{tabular}{|r|p{11.5cm}|} 7 | \hline 8 | \code{bin} & contains shell scripts needed to work with \scalaris{} (e.g.\ start the management server, start a node, \dots)\\ 9 | \code{contrib} & necessary third party packages (yaws and log4erl) \\ 10 | \code{doc} & generated Erlang documentation \\ 11 | \code{docroot} & root directory of the node's webserver \\ 12 | \code{ebin} & the compiled Erlang code (beam files)\\ 13 | \code{java-api} & a Java API to \scalaris{} \\ 14 | \code{python-api} & a Python 2 API to \scalaris{} \\ 15 | \code{python3-api} & a Python 3 API to \scalaris{} \\ 16 | \code{ruby-api} & a Ruby API to \scalaris{} \\ 17 | \code{log} & log files \\ 18 | \code{src} & contains the \scalaris{} source code\\ 19 | \code{include} & contains macros for the source code\\ 20 | \code{test} & unit tests for \scalaris{} \\ 21 | \code{user-dev-guide} & contains the sources for this document\\ 22 | \hline 23 | \end{tabular} 24 | -------------------------------------------------------------------------------- /user-dev-guide/dev-java.tex: -------------------------------------------------------------------------------- 1 | \chapter{Java API} 2 | 3 | For the Java API documentation, we refer the reader to the documentation 4 | generated by javadoc or doxygen. The following commands create the 5 | documentation: 6 | 7 | \begin{lstlisting}[language=sh] 8 | %> cd java-api 9 | %> ant doc 10 | %> doxygen 11 | \end{lstlisting} 12 | 13 | The documentation can then be found in \code{java-api/doc/index.html} 14 | (javadoc) and\\ \code{java-api/doc-doxygen/html/index.html} (doxygen). 15 | 16 | The API is divided into four classes: 17 | 18 | \begin{itemize} 19 | \item \code{de.zib.scalaris.Transaction} for (multiple) operations inside a 20 | transaction 21 | \item \code{de.zib.scalaris.TransactionSingleOp} for single transactional 22 | operations 23 | \item \code{de.zib.scalaris.ReplicatedDHT} for non-transactional (inconsistent) 24 | access to the replicated DHT items, e.g. deleting items 25 | \end{itemize} 26 | -------------------------------------------------------------------------------- /user-dev-guide/dev-rrepair.tex: -------------------------------------------------------------------------------- 1 | \chapter{Replica Repair} 2 | \label{chapter.rrepair} 3 | 4 | \section{Replica Reconciliation - \erlmodule{rr\_recon}} 5 | 6 | \subsection{Trivial Replica Repair} 7 | \subsubsection{Protocol} 8 | \includegraphics[width=\linewidth]{rrepair/trivial_sd_uml} 9 | 10 | \subsection{Replica Repair with Bloom Filters} 11 | \subsubsection{Protocol} 12 | \includegraphics[width=\linewidth]{rrepair/bloom_sd_uml} 13 | 14 | \subsection{Replica Repair with Merkle Trees} 15 | \subsubsection{Protocol} 16 | \includegraphics[width=\linewidth]{rrepair/merkle_sd_uml} 17 | 18 | % TODO: create ART sequence diagram 19 | % the current protocol implementation does not use the new techniques of the 20 | % other protocols yet 21 | 22 | % \subsection{Replica Repair with Approximate Reconciliation Trees (ART)} 23 | % \subsubsection{Protocol} 24 | % \includegraphics[width=\linewidth]{rrepair/art_sd_uml} 25 | 26 | \section{Resolve Replicas - \erlmodule{rr\_resolve}} 27 | \subsection{Updating a list of keys - \code{key_upd}} 28 | \includegraphics[width=\linewidth]{rrepair/key_sync_s} 29 | -------------------------------------------------------------------------------- /user-dev-guide/dev-tx.tex: -------------------------------------------------------------------------------- 1 | \chapter{Transactions in \scalaris{}} 2 | \label{chapter.transactions} 3 | 4 | \section{The Paxos Module} 5 | 6 | \section{Transactions using Paxos Commit} 7 | 8 | \section{Applying the Tx-Modules to replicated DHTs} 9 | 10 | Introduces transaction processing on top of a Overlay 11 | -------------------------------------------------------------------------------- /user-dev-guide/dht_node_join_phases2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/dht_node_join_phases2.pdf -------------------------------------------------------------------------------- /user-dev-guide/etextools.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/etextools.sty -------------------------------------------------------------------------------- /user-dev-guide/latex-col.awk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/latex-col.awk -------------------------------------------------------------------------------- /user-dev-guide/main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/main.pdf -------------------------------------------------------------------------------- /user-dev-guide/rrepair/.gitignore: -------------------------------------------------------------------------------- 1 | /test* 2 | /*.pdf 3 | /*.ps 4 | -------------------------------------------------------------------------------- /user-dev-guide/rrepair/Makefile: -------------------------------------------------------------------------------- 1 | MAKEFLAGS=-k $MAKEFLAGS 2 | GNUPLOT=gnuplot 3 | PIC2PLOT=pic2plot -Tps 4 | GNU_FILES := $(patsubst %,.%-done,$(wildcard *.gnuplot)) 5 | PIC_FILES := $(patsubst %.pic,%.pdf,$(wildcard *.pic)) 6 | 7 | .PHONY: all files allSims clean 8 | 9 | all: files 10 | 11 | .DELETE_ON_ERROR: 12 | 13 | files: $(GNU_FILES) $(PIC_FILES) 14 | 15 | # convert all .gnuplot files to .png files 16 | # % replaces any name 17 | # within a rule: $< replaces the source 18 | # $@ replaces the target 19 | .%.gnuplot-done: %.gnuplot data-scalability_get_10000_rate-SUMMARY-ALL.txt 20 | $(GNUPLOT) $< 21 | touch $@ 22 | 23 | sequence.pdf: sequence.pic 24 | 25 | 26 | %.ps: %.pic sequence.pic 27 | $(PIC2PLOT) $< > $@ 28 | # note: if pic2plot is broken (as in openSUSE 12.3), use this with some caveats, e.g. subscript not working: 29 | # pic $< | groff > $@ 30 | 31 | %.pdf: %.ps 32 | epstopdf $*.ps > $@ && rm $*.ps 33 | 34 | clean: 35 | rm -f *.png 36 | rm -f *.pdf 37 | rm -f *.ps 38 | rm -f .*.gnuplot-done 39 | rm -f *-fit_quadratic 40 | rm -f *-fit_linear 41 | rm -f *.pic.ps 42 | rm -f *.pic.pdf 43 | -------------------------------------------------------------------------------- /user-dev-guide/rrepair/sequence.pic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/rrepair/sequence.pic -------------------------------------------------------------------------------- /user-dev-guide/scalaris-layers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/scalaris-layers.pdf -------------------------------------------------------------------------------- /user-dev-guide/scalaris-logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/scalaris-logo.pdf -------------------------------------------------------------------------------- /user-dev-guide/supervision.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/supervision.dia -------------------------------------------------------------------------------- /user-dev-guide/supervision.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/supervision.pdf -------------------------------------------------------------------------------- /user-dev-guide/tikz_footer.tex: -------------------------------------------------------------------------------- 1 | \end{document} 2 | -------------------------------------------------------------------------------- /user-dev-guide/tikz_header.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper]{scrreprt} 2 | \usepackage{typearea} 3 | \areaset[1cm]{165mm}{240mm} 4 | 5 | \usepackage[T1]{fontenc} 6 | \usepackage[latin1]{inputenc} 7 | \usepackage{listings} 8 | 9 | \usepackage{xcolor} 10 | \definecolor{lightyellow}{rgb}{1.0, 1.0, 0.5} 11 | \definecolor{codebackground}{HTML}{EEEEEE} 12 | \definecolor{commandinput}{rgb}{0.8,0.8,1} 13 | \definecolor{lightblue}{HTML}{1E90FF} 14 | 15 | \usepackage{tikz} 16 | \usetikzlibrary{positioning} 17 | \usetikzlibrary{shadows} 18 | \usetikzlibrary{fit} 19 | \usetikzlibrary{shapes.arrows} 20 | \usetikzlibrary{backgrounds} 21 | \usetikzlibrary{calc} 22 | \usepackage[graphics,tightpage,active]{preview} 23 | \PreviewEnvironment{tikzpicture} 24 | \newlength{\imagewidth} 25 | \newlength{\imagescale} 26 | 27 | \usepackage{calc} 28 | 29 | \newcommand{\code}[1]{\lstinline[basicstyle=\ttfamily]!#1!} 30 | 31 | \begin{document} 32 | -------------------------------------------------------------------------------- /user-dev-guide/user-intro.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scalaris-team/scalaris/8579b0d446244b412f8995add0fb6b114122d6a2/user-dev-guide/user-intro.tex --------------------------------------------------------------------------------