| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| YARN-4784 | Fairscheduler: defaultQueueSchedulingPolicy should not accept FIFO | Major | fairscheduler | Yufei Gu | Yufei Gu |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| HADOOP-12321 | Make JvmPauseMonitor an AbstractService | Major | . | Steve Loughran | Sunil G |
| HDFS-9525 | hadoop utilities need to support provided delegation tokens | Blocker | security | Allen Wittenauer | HeeSoo Kim |
| HADOOP-12702 | Add an HDFS metrics sink | Major | metrics | Daniel Templeton | Daniel Templeton |
| HADOOP-12847 | hadoop daemonlog should support https and SPNEGO for Kerberized cluster | Major | security | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HADOOP-12747 | support wildcard in libjars argument | Major | util | Sangjin Lee | Sangjin Lee |
| HDFS-9804 | Allow long-running Balancer to login with keytab | Major | balancer & mover, security | Xiao Chen | Xiao Chen |
| MAPREDUCE-6690 | Limit the number of resources a single map reduce job can submit for localization | Major | . | Chris Trezzo | Chris Trezzo |
| HADOOP-13396 | Allow pluggable audit loggers in KMS | Major | kms | Xiao Chen | Xiao Chen |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| HDFS-9267 | TestDiskError should get stored replicas through FsDatasetTestUtils. | Minor | test | Lei (Eddy) Xu | Lei (Eddy) Xu |
| HDFS-9491 | Tests should get the number of pending async delets via FsDatasetTestUtils | Minor | test | Tony Wu | Tony Wu |
| HADOOP-12625 | Add a config to disable the /logs endpoints | Major | security | Robert Kanter | Robert Kanter |
| YARN-4341 | add doc about timeline performance tool usage | Major | . | Chang Li | Chang Li |
| HDFS-9281 | Change TestDeleteBlockPool to not explicitly use File to check block pool existence. | Minor | test | Lei (Eddy) Xu | Lei (Eddy) Xu |
| HDFS-8477 | describe dfs.ha.zkfc.port in hdfs-default.xml | Minor | . | Kanaka Kumar Avvaru | Kanaka Kumar Avvaru |
| HDFS-9350 | Avoid creating temprorary strings in Block.toString() and getBlockName() | Minor | performance | Staffan Friberg | Staffan Friberg |
| HADOOP-12566 | Add NullGroupMapping | Major | . | Daniel Templeton | Daniel Templeton |
| YARN-2934 | Improve handling of container's stderr | Critical | . | Gera Shegalov | Naganarasimha G R |
| HADOOP-12663 | Remove Hard-Coded Values From FileSystem.java | Trivial | fs | BELUGA BEHR | BELUGA BEHR |
| YARN-4438 | Implement RM leader election with curator | Major | . | Jian He | Jian He |
| HADOOP-12683 | Add number of samples in last interval in snapshot of MutableStat | Minor | metrics | Vikram Srivastava | Vikram Srivastava |
| HADOOP-8887 | Use a Maven plugin to build the native code using CMake | Minor | build | Colin P. McCabe | Colin P. McCabe |
| HADOOP-12713 | Disable spurious checkstyle checks | Major | . | Andrew Wang | Andrew Wang |
| HADOOP-12662 | The build should fail if a -Dbundle option fails | Minor | . | Kai Zheng | Kai Zheng |
| HDFS-9576 | HTrace: collect position/length information on read operations | Major | hdfs-client, tracing | Zhe Zhang | Zhe Zhang |
| YARN-4603 | FairScheduler should mention user requested queuename in error message when failed in queue ACL check | Trivial | fairscheduler | Tao Jie | Tao Jie |
| HDFS-9674 | The HTrace span for OpWriteBlock should record the maxWriteToDisk time | Major | datanode, tracing | Colin P. McCabe | Colin P. McCabe |
| YARN-4496 | Improve HA ResourceManager Failover detection on the client | Major | client, resourcemanager | Arun Suresh | Jian He |
| YARN-3542 | Re-factor support for CPU as a resource using the new ResourceHandler mechanism | Critical | nodemanager | Sidharta Seethana | Varun Vasudev |
| HDFS-9541 | Add hdfsStreamBuilder API to libhdfs to support defaultBlockSizes greater than 2 GB | Major | libhdfs | Colin P. McCabe | Colin P. McCabe |
| YARN-4462 | FairScheduler: Disallow preemption from a queue | Major | fairscheduler | Tao Jie | Tao Jie |
| HDFS-9677 | Rename generationStampV1/generationStampV2 to legacyGenerationStamp/generationStamp | Minor | namenode | Jing Zhao | Mingliang Liu |
| MAPREDUCE-6431 | JobClient should be an AutoClosable | Major | . | André Kelpe | Haibo Chen |
| HDFS-7764 | DirectoryScanner shouldn't abort the scan if one directory had an error | Major | datanode | Rakesh R | Rakesh R |
| YARN-4647 | Make RegisterNodeManagerRequestPBImpl thread-safe | Major | nodemanager | Karthik Kambatla | Karthik Kambatla |
| YARN-4649 | Add additional logging to some NM state store operations | Minor | . | Sidharta Seethana | Sidharta Seethana |
| HADOOP-12759 | RollingFileSystemSink should eagerly rotate directories | Critical | . | Daniel Templeton | Daniel Templeton |
| YARN-4628 | Display application priority in yarn top | Minor | . | Bibin A Chundatt | Bibin A Chundatt |
| YARN-4655 | Log uncaught exceptions/errors in various thread pools in YARN | Major | . | Sidharta Seethana | Sidharta Seethana |
| HDFS-9637 | Tests for RollingFileSystemSink | Major | test | Daniel Templeton | Daniel Templeton |
| YARN-4569 | Remove incorrect part of maxResources in FairScheduler documentation | Major | documentation | Ray Chiang | Ray Chiang |
| YARN-4690 | Skip object allocation in FSAppAttempt#getResourceUsage when possible | Major | . | Ming Ma | Ming Ma |
| MAPREDUCE-6634 | Log uncaught exceptions/errors in various thread pools in mapreduce | Major | . | Sidharta Seethana | Sidharta Seethana |
| HADOOP-12817 | Enable TLS v1.1 and 1.2 | Major | security | Robert Kanter | Robert Kanter |
| MAPREDUCE-6627 | Add machine-readable output to mapred job -history command | Major | client | Robert Kanter | Robert Kanter |
| YARN-4708 | Missing default mapper type in TimelineServer performance test tool usage | Minor | timelineserver | Kai Sasaki | Kai Sasaki |
| HADOOP-12829 | StatisticsDataReferenceCleaner swallows interrupt exceptions | Minor | fs | Gregory Chanan | Gregory Chanan |
| MAPREDUCE-6640 | mapred job -history command should be able to take Job ID | Major | client | Robert Kanter | Robert Kanter |
| YARN-4697 | NM aggregation thread pool is not bound by limits | Critical | nodemanager | Haibo Chen | Haibo Chen |
| YARN-4579 | Allow DefaultContainerExecutor container log directory permissions to be configurable | Major | yarn | Ray Chiang | Ray Chiang |
| YARN-4720 | Skip unnecessary NN operations in log aggregation | Major | . | Ming Ma | Jun Gong |
| HADOOP-12841 | Update s3-related properties in core-default.xml | Minor | fs/s3 | Wei-Chiu Chuang | Wei-Chiu Chuang |
| MAPREDUCE-6622 | Add capability to set JHS job cache to a task-based limit | Critical | jobhistoryserver | Ray Chiang | Ray Chiang |
| YARN-4718 | Rename variables in SchedulerNode to reduce ambiguity post YARN-1011 | Major | scheduler | Karthik Kambatla | Inigo Goiri |
| HADOOP-12859 | Disable hiding field style checks in class setters | Major | . | Kai Zheng | Kai Zheng |
| HDFS-9521 | TransferFsImage.receiveFile should account and log separate times for image download and fsync to disk | Minor | . | Wellington Chevreuil | Wellington Chevreuil |
| HADOOP-11404 | Clarify the "expected client Kerberos principal is null" authorization message | Minor | security | Stephen Chu | Stephen Chu |
| YARN-4719 | Add a helper library to maintain node state and allows common queries | Major | scheduler | Karthik Kambatla | Karthik Kambatla |
| HDFS-9928 | Make HDFS commands guide up to date | Major | documentation | Wei-Chiu Chuang | Wei-Chiu Chuang |
| YARN-4560 | Make scheduler error checking message more user friendly | Trivial | yarn | Ray Chiang | Ray Chiang |
| HDFS-9579 | Provide bytes-read-by-network-distance metrics at FileSystem.Statistics level | Major | . | Ming Ma | Ming Ma |
| YARN-4732 | *ProcessTree classes have too many whitespace issues | Trivial | . | Karthik Kambatla | Gabor Liptak |
| HADOOP-12952 | /BUILDING example of zero-docs dist should skip javadocs | Trivial | build, documentation | Steve Loughran | Steve Loughran |
| YARN-4436 | DistShell ApplicationMaster.ExecBatScripStringtPath is misspelled | Trivial | applications/distributed-shell | Daniel Templeton | Matt LaMantia |
| YARN-4884 | Fix missing documentation about rmadmin command regarding node labels | Minor | . | Kai Sasaki | Kai Sasaki |
| YARN-4607 | Pagination support for AppAttempt page TotalOutstandingResource Requests table | Minor | . | Bibin A Chundatt | Bibin A Chundatt |
| YARN-4769 | Add support for CSRF header in the dump capacity scheduler logs and kill app buttons in RM web UI | Major | . | Varun Vasudev | Varun Vasudev |
| HADOOP-12984 | Add GenericTestUtils.getTestDir method and use it for temporary directory in tests | Major | build, test | Steve Loughran | Steve Loughran |
| YARN-4541 | Change log message in LocalizedResource#handle() to DEBUG | Minor | . | Ray Chiang | Ray Chiang |
| YARN-1297 | FairScheduler: Move some logs to debug and check if debug logging is enabled | Major | fairscheduler | Sandy Ryza | Yufei Gu |
| HDFS-3702 | Add an option for NOT writing the blocks locally if there is a datanode on the same box as the client | Minor | hdfs-client | Nicolas Liochon | Lei (Eddy) Xu |
| YARN-5003 | Add container resource to RM audit log | Major | resourcemanager, scheduler | Nathan Roberts | Nathan Roberts |
| HADOOP-13068 | Clean up RunJar and related test class | Trivial | util | Andras Bokor | Andras Bokor |
| YARN-4577 | Enable aux services to have their own custom classpath/jar file | Major | . | Xuan Gong | Xuan Gong |
| YARN-5053 | More informative diagnostics when applications killed by a user | Major | resourcemanager | Jason Lowe | Eric Badger |
| HADOOP-12971 | FileSystemShell doc should explain relative path | Critical | documentation | John Zhuge | John Zhuge |
| MAPREDUCE-6686 | Add a way to download the job config from the mapred CLI | Major | client | Robert Kanter | Robert Kanter |
| MAPREDUCE-6696 | Add a configuration to limit the number of map tasks allowed per job. | Major | job submission | zhihai xu | zhihai xu |
| YARN-4878 | Expose scheduling policy and max running apps over JMX for Yarn queues | Major | yarn | Yufei Gu | Yufei Gu |
| HDFS-9782 | RollingFileSystemSink should have configurable roll interval | Major | . | Daniel Templeton | Daniel Templeton |
| HADOOP-13160 | Suppress checkstyle JavadocPackage check for test source | Minor | . | John Zhuge | John Zhuge |
| YARN-4766 | NM should not aggregate logs older than the retention policy | Major | log-aggregation, nodemanager | Haibo Chen | Haibo Chen |
| HADOOP-12291 | Add support for nested groups in LdapGroupsMapping | Major | security | Gautam Gopalakrishnan | Esther Kundin |
| HDFS-7541 | Upgrade Domains in HDFS | Major | . | Ming Ma | Ming Ma |
| HDFS-10256 | Use GenericTestUtils.getTestDir method in tests for temporary directories | Major | build, test | Vinayakumar B | Vinayakumar B |
| YARN-5083 | YARN CLI for AM logs does not give any error message if entered invalid am value | Major | yarn | Sumana Sathish | Jian He |
| YARN-5082 | Limit ContainerId increase in fair scheduler if the num of node app reserved reached the limit | Major | . | sandflee | sandflee |
| YARN-4958 | The file localization process should allow for wildcards to reduce the application footprint in the state store | Critical | nodemanager | Daniel Templeton | Daniel Templeton |
| MAPREDUCE-6719 | The list of -libjars archives should be replaced with a wildcard in the distributed cache to reduce the application footprint in the state store | Critical | distributed-cache | Daniel Templeton | Daniel Templeton |
| MAPREDUCE-6721 | mapreduce.reduce.shuffle.memory.limit.percent=0.0 should be legal to enforce shuffle to disk | Major | mrv2, task | Gera Shegalov | Gera Shegalov |
| HDFS-10568 | Reuse ObjectMapper instance in CombinedHostsFileReader and CombinedHostsFileWriter | Major | hdfs-client | Yiqun Lin | Yiqun Lin |
| HADOOP-13337 | Update maven-enforcer-plugin version to 1.4.1 | Major | build | Tsuyoshi Ozawa | Tsuyoshi Ozawa |
| YARN-4568 | Fix message when NodeManager runs into errors initializing the recovery directory | Major | yarn | Ray Chiang | Ray Chiang |
| MAPREDUCE-6717 | Remove deprecated StringUtils.getFormattedTimeWithDiff | Minor | . | Akira Ajisaka | Shen Yinjie |
| HDFS-10387 | DataTransferProtocol#writeBlock missing some javadocs | Minor | datanode, hdfs | Yongjun Zhang | John Zhuge |
| YARN-5339 | passing file to -out for YARN log CLI doesnt give warning or error code | Major | . | Sumana Sathish | Xuan Gong |
| HADOOP-13290 | Appropriate use of generics in FairCallQueue | Major | ipc | Konstantin Shvachko | Jonathan Hung |
| YARN-5303 | Clean up ContainerExecutor JavaDoc | Minor | nodemanager | Daniel Templeton | Daniel Templeton |
| MAPREDUCE-6652 | Add configuration property to prevent JHS from loading jobs with a task count greater than X | Major | jobhistoryserver | Haibo Chen | Haibo Chen |
| YARN-5181 | ClusterNodeTracker: add method to get list of nodes matching a specific resourceName | Major | scheduler | Karthik Kambatla | Karthik Kambatla |
| YARN-4996 | Make TestNMReconnect.testCompareRMNodeAfterReconnect() scheduler agnostic, or better yet parameterized | Minor | resourcemanager, test | Daniel Templeton | Kai Sasaki |
| MAPREDUCE-6365 | Refactor JobResourceUploader#uploadFilesInternal | Minor | . | Chris Trezzo | Chris Trezzo |
| HADOOP-13354 | Update WASB driver to use the latest version (4.2.0) of SDK for Microsoft Azure Storage Clients | Major | fs/azure | Sivaguru Sankaridurg | Sivaguru Sankaridurg |
| YARN-5460 | Change container runtime type logging in DelegatingLinuxContainerRuntime to debug | Trivial | yarn | Shane Kumpf | Shane Kumpf |
| HADOOP-13458 | LoadBalancingKMSClientProvider#doOp should log IOException stacktrace | Trivial | kms | Wei-Chiu Chuang | Chen Liang |
| MAPREDUCE-6748 | Enhance logging for Cluster.java around InetSocketAddress | Minor | . | sarun singla | Vrushali C |
| YARN-4910 | Fix incomplete log info in ResourceLocalizationService | Trivial | . | Jun Gong | Jun Gong |
| HADOOP-13380 | TestBasicDiskValidator should not write data to /tmp | Minor | . | Lei (Eddy) Xu | Yufei Gu |
| MAPREDUCE-6741 | add MR support to redact job conf properties | Major | mrv2 | Haibo Chen | Haibo Chen |
| MAPREDUCE-6751 | Add debug log message when splitting is not possible due to unsplittable compression | Minor | client, mrv1, mrv2 | Peter Vary | Peter Vary |
| YARN-5455 | Update Javadocs for LinuxContainerExecutor | Major | nodemanager | Daniel Templeton | Daniel Templeton |
| YARN-4702 | FairScheduler: Allow setting maxResources for ad hoc queues | Major | fairscheduler | Karthik Kambatla | Daniel Templeton |
| HDFS-10645 | Make block report size as a metric and add this metric to datanode web ui | Major | datanode, ui | Yuanbo Liu | Yuanbo Liu |
| YARN-4491 | yarn list command to support filtering by tags | Minor | client | Steve Loughran | Varun Saxena |
| HDFS-10798 | Make the threshold of reporting FSNamesystem lock contention configurable | Major | logging, namenode | Zhe Zhang | Erik Krogen |
| HDFS-10784 | Implement WebHdfsFileSystem#listStatusIterator | Major | webhdfs | Andrew Wang | Andrew Wang |
| HDFS-10822 | Log DataNodes in the write pipeline | Trivial | hdfs-client | John Zhuge | John Zhuge |
| YARN-5616 | Clean up WeightAdjuster | Major | fairscheduler | Yufei Gu | Yufei Gu |
| HDFS-10778 | Add -format option to make the output of FileDistribution processor human-readable in OfflineImageViewer | Major | tools | Yiqun Lin | Yiqun Lin |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| HADOOP-7256 | Resource leak during failure scenario of closing of resources. | Minor | util | ramkrishna.s.vasudevan | ramkrishna.s.vasudevan |
| YARN-4156 | TestAMRestart#testAMBlacklistPreventsRestartOnSameNode assumes CapacityScheduler | Major | . | Anubhav Dhoot | Anubhav Dhoot |
| YARN-4417 | Make RM and Timeline-server REST APIs more consistent | Major | . | Wangda Tan | Wangda Tan |
| YARN-4522 | Queue acl can be checked at app submission | Major | . | Jian He | Jian He |
| YARN-4530 | LocalizedResource trigger a NPE Cause the NodeManager exit | Major | . | tangshangwen | tangshangwen |
| MAPREDUCE-6577 | MR AM unable to load native library without MR_AM_ADMIN_USER_ENV set | Critical | mr-am | Sangjin Lee | Sangjin Lee |
| HADOOP-12655 | TestHttpServer.testBindAddress bind port range is wider than expected | Major | . | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HADOOP-12573 | TestRPC.testClientBackOff failing | Major | test | Steve Loughran | Xiao Chen |
| YARN-4567 | javadoc failing on java 8 | Blocker | build | Steve Loughran | Steve Loughran |
| HADOOP-12653 | Use SO_REUSEADDR to avoid getting "Address already in use" when using kerberos and attempting to bind to any port on the local IP address | Major | net | Colin P. McCabe | Colin P. McCabe |
| YARN-4571 | Make app id/name available to the yarn authorizer provider for better auditing | Major | . | Jian He | Jian He |
| YARN-4551 | Address the duplication between StatusUpdateWhenHealthy and StatusUpdateWhenUnhealthy transitions | Minor | nodemanager | Karthik Kambatla | Sunil G |
| HDFS-9517 | Fix missing @Test annotation on TestDistCpUtils.testUnpackAttributes | Trivial | distcp | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HDFS-9624 | DataNode start slowly due to the initial DU command operations | Major | . | Yiqun Lin | Yiqun Lin |
| HADOOP-12712 | Fix some cmake plugin and native build warnings | Minor | native | Colin P. McCabe | Colin P. McCabe |
| YARN-4559 | Make leader elector and zk store share the same curator client | Major | . | Jian He | Jian He |
| YARN-4611 | Fix scheduler load simulator to support multi-layer network location | Major | . | Ming Ma | Ming Ma |
| HADOOP-12605 | Fix intermittent failure of TestIPC.testIpcWithReaderQueuing | Minor | test | Masatake Iwasaki | Masatake Iwasaki |
| YARN-4584 | RM startup failure when AM attempts greater than max-attempts | Critical | . | Bibin A Chundatt | Bibin A Chundatt |
| HDFS-9618 | Fix mismatch between log level and guard in BlockManager#computeRecoveryWorkForBlocks | Minor | namenode | Masatake Iwasaki | Masatake Iwasaki |
| YARN-4497 | RM might fail to restart when recovering apps whose attempts are missing | Critical | . | Jun Gong | Jun Gong |
| YARN-4612 | Fix rumen and scheduler load simulator handle killed tasks properly | Major | . | Ming Ma | Ming Ma |
| MAPREDUCE-6620 | Jobs that did not start are shown as starting in 1969 in the JHS web UI | Major | jobhistoryserver | Daniel Templeton | Haibo Chen |
| YARN-4625 | Make ApplicationSubmissionContext and ApplicationSubmissionContextInfo more consistent | Major | . | Xuan Gong | Xuan Gong |
| HADOOP-12761 | incremental maven build is not really incremental | Minor | build | Sangjin Lee | Sangjin Lee |
| YARN-4594 | container-executor fails to remove directory tree when chmod required | Major | nodemanager | Colin P. McCabe | Colin P. McCabe |
| YARN-4669 | Fix logging statements in resource manager's Application class | Trivial | . | Sidharta Seethana | Sidharta Seethana |
| HADOOP-12773 | HBase classes fail to load with client/job classloader enabled | Major | util | Sangjin Lee | Sangjin Lee |
| YARN-4629 | Distributed shell breaks under strong security | Major | applications/distributed-shell, security | Daniel Templeton | Daniel Templeton |
| HDFS-9608 | Disk IO imbalance in HDFS with heterogeneous storages | Major | . | Wei Zhou | Wei Zhou |
| YARN-4689 | FairScheduler: Cleanup preemptContainer to be more readable | Trivial | fairscheduler | Karthik Kambatla | Kai Sasaki |
| YARN-4651 | movetoqueue option does not documented in 'YARN Commands' | Major | documentation | Takashi Ohnishi | Takashi Ohnishi |
| YARN-4648 | Move preemption related tests from TestFairScheduler to TestFairSchedulerPreemption | Major | fairscheduler | Karthik Kambatla | Kai Sasaki |
| YARN-4722 | AsyncDispatcher logs redundant event queue sizes | Major | . | Jason Lowe | Jason Lowe |
| YARN-4729 | SchedulerApplicationAttempt#getTotalRequiredResources can throw an NPE | Major | scheduler | Karthik Kambatla | Karthik Kambatla |
| YARN-4701 | When task logs are not available, port 8041 is referenced instead of port 8042 | Major | yarn | Haibo Chen | Haibo Chen |
| HDFS-9858 | RollingFileSystemSink can throw an NPE on non-secure clusters | Major | . | Daniel Templeton | Daniel Templeton |
| HDFS-9855 | Modify TestAuditLoggerWithCommands to workaround the absence of HDFS-8332 | Major | test | Kuhu Shukla | Kuhu Shukla |
| YARN-4731 | container-executor should not follow symlinks in recursive_unlink_children | Blocker | . | Bibin A Chundatt | Colin P. McCabe |
| HADOOP-10321 | TestCompositeService should cover all enumerations of adding a service to a parent service | Major | . | Karthik Kambatla | Ray Chiang |
| YARN-4763 | RMApps Page crashes with NPE | Major | webapp | Bibin A Chundatt | Bibin A Chundatt |
| YARN-4737 | Add CSRF filter support in YARN | Major | nodemanager, resourcemanager, webapp | Jonathan Maron | Jonathan Maron |
| YARN-4762 | NMs failing on DelegatingLinuxContainerRuntime init with LCE on | Blocker | . | Vinod Kumar Vavilapalli | Sidharta Seethana |
| YARN-4764 | Application submission fails when submitted queue is not available in scheduler xml | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| HADOOP-12895 | SSLFactory#createSSLSocketFactory exception message is wrong | Trivial | . | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HADOOP-12906 | AuthenticatedURL should convert a 404/Not Found into an FileNotFoundException. | Minor | io, security | Steve Loughran | Steve Loughran |
| HDFS-9947 | Block#toString should not output information from derived classes | Minor | . | Colin P. McCabe | Colin P. McCabe |
| YARN-4816 | SystemClock API broken in 2.9.0 | Major | . | Siddharth Seth | Siddharth Seth |
| HDFS-9780 | RollingFileSystemSink doesn't work on secure clusters | Critical | . | Daniel Templeton | Daniel Templeton |
| HADOOP-12888 | Shell to disable bash and setsid support when running under JVM security manager | Major | security | Costin Leau | Costin Leau |
| YARN-4593 | Deadlock in AbstractService.getConfig() | Major | yarn | Steve Loughran | Steve Loughran |
| HDFS-10173 | Typo in DataXceiverServer | Trivial | datanode | Michael Han | Michael Han |
| YARN-4812 | TestFairScheduler#testContinuousScheduling fails intermittently | Major | fairscheduler | Karthik Kambatla | Karthik Kambatla |
| MAPREDUCE-6110 | JobHistoryServer CLI throws NullPointerException with job ids that do not exist | Minor | jobhistoryserver | Li Lu | Kai Sasaki |
| MAPREDUCE-6535 | TaskID default constructor results in NPE on toString() | Major | mrv2 | Daniel Templeton | Daniel Templeton |
| MAPREDUCE-6655 | Fix a typo (STRICT_IE6) in Encrypted Shuffle | Trivial | documentation | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HADOOP-12954 | Add a way to change hadoop.security.token.service.use_ip | Major | security | Robert Kanter | Robert Kanter |
| MAPREDUCE-6662 | Clear ASF Warnings on test data files | Minor | . | Vinayakumar B | Vinayakumar B |
| YARN-4865 | Track Reserved resources in ResourceUsage and QueueCapacities | Major | resourcemanager | Sunil G | Sunil G |
| YARN-4183 | Clarify the behavior of timeline service config properties | Major | . | Mit Desai | Naganarasimha G R |
| YARN-4657 | Javadoc comment is broken for Resources.multiplyByAndAddTo() | Trivial | . | Daniel Templeton | Daniel Templeton |
| YARN-4706 | UI Hosting Configuration in TimelineServer doc is broken | Critical | documentation | Akira Ajisaka | Akira Ajisaka |
| YARN-4880 | Running TestZKRMStateStorePerf with real zookeeper cluster throws NPE | Major | . | Rohith Sharma K S | Sunil G |
| YARN-4609 | RM Nodes list page takes too much time to load | Major | webapp | Bibin A Chundatt | Bibin A Chundatt |
| YARN-4906 | Capture container start/finish time in container metrics | Major | . | Jian He | Jian He |
| MAPREDUCE-6670 | TestJobListCache#testEviction sometimes fails on Windows with timeout | Minor | test | Gergely Novák | Gergely Novák |
| HDFS-10192 | Namenode safemode not coming out during failover | Major | namenode | Brahma Reddy Battula | Brahma Reddy Battula |
| MAPREDUCE-6647 | MR usage counters use the resources requested instead of the resources allocated | Major | . | Haibo Chen | Haibo Chen |
| HADOOP-13006 | FileContextMainOperationsBaseTest.testListStatusThrowsExceptionForNonExistentFile() doesnt run | Minor | test | Steve Loughran | Kai Sasaki |
| YARN-4927 | TestRMHA#testTransitionedToActiveRefreshFail fails with FairScheduler | Major | test | Karthik Kambatla | Bibin A Chundatt |
| YARN-4562 | YARN WebApp ignores the configuration passed to it for keystore settings | Major | . | Sergey Shelukhin | Sergey Shelukhin |
| YARN-4897 | dataTables_wrapper change min height | Minor | . | Bibin A Chundatt | Bibin A Chundatt |
| HDFS-8356 | Document missing properties in hdfs-default.xml | Major | documentation | Ray Chiang | Ray Chiang |
| YARN-4810 | NM applicationpage cause internal error 500 | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| HDFS-10273 | Remove duplicate logSync() and log message in FSN#enterSafemode() | Minor | . | Vinayakumar B | Vinayakumar B |
| HDFS-10282 | The VolumeScanner should warn about replica files which are misplaced | Major | datanode | Colin P. McCabe | Colin P. McCabe |
| HDFS-10283 | o.a.h.hdfs.server.namenode.TestFSImageWithSnapshot#testSaveLoadImageWithAppending fails intermittently | Major | test | Mingliang Liu | Mingliang Liu |
| YARN-4934 | Reserved Resource for QueueMetrics needs to be handled correctly in few cases | Major | capacity scheduler | Sunil G | Sunil G |
| HDFS-10306 | SafeModeMonitor should not leave safe mode if name system is starting active service | Major | namenode | Mingliang Liu | Mingliang Liu |
| YARN-4935 | TestYarnClient#testSubmitIncorrectQueue fails with FairScheduler | Major | test | Yufei Gu | Yufei Gu |
| MAPREDUCE-2398 | MRBench: setting the baseDir parameter has no effect | Minor | benchmarks | Michael Noll | Wilfred Spiegelenburg |
| YARN-4976 | Missing NullPointer check in ContainerLaunchContextPBImpl causes RM to die | Major | resourcemanager | Giovanni Matteo Fumarola | Giovanni Matteo Fumarola |
| YARN-4795 | ContainerMetrics drops records | Major | resourcemanager | Daniel Templeton | Daniel Templeton |
| YARN-4983 | JVM and UGI metrics disappear after RM is once transitioned to standby mode | Major | . | Li Lu | Li Lu |
| HADOOP-13012 | yetus-wrapper should fail sooner when download fails | Minor | yetus | Steven K. Wong | Steven K. Wong |
| HADOOP-12469 | distcp should not ignore the ignoreFailures option | Critical | tools/distcp | Gera Shegalov | Mingliang Liu |
| MAPREDUCE-6677 | LocalContainerAllocator doesn't specify resource of the containers allocated. | Major | mr-am | Haibo Chen | Haibo Chen |
| MAPREDUCE-6675 | TestJobImpl.testUnusableNode failed | Major | mrv2 | Haibo Chen | Haibo Chen |
| YARN-5002 | getApplicationReport call may raise NPE for removed queues | Critical | . | Sumana Sathish | Jian He |
| HADOOP-13118 | Fix IOUtils#cleanup and IOUtils#closeStream javadoc | Trivial | io | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HADOOP-10694 | Remove synchronized input streams from Writable deserialization | Major | io | Gopal V | Gopal V |
| HDFS-10410 | RedundantEditLogInputStream#LOG is set to wrong class | Minor | . | John Zhuge | John Zhuge |
| HDFS-10208 | Addendum for HDFS-9579: to handle the case when client machine can't resolve network path | Major | . | Ming Ma | Ming Ma |
| MAPREDUCE-6701 | application master log can not be available when clicking jobhistory's am logs link | Critical | jobhistoryserver | chenyukang | Haibo Chen |
| HDFS-10404 | Fix formatting of CacheAdmin command usage help text | Major | caching | Yiqun Lin | Yiqun Lin |
| MAPREDUCE-6657 | job history server can fail on startup when NameNode is in start phase | Major | jobhistoryserver | Haibo Chen | Haibo Chen |
| HDFS-10360 | DataNode may format directory and lose blocks if current/VERSION is missing | Major | datanode | Wei-Chiu Chuang | Wei-Chiu Chuang |
| YARN-5076 | YARN web interfaces lack XFS protection | Major | nodemanager, resourcemanager, timelineserver | Jonathan Maron | Jonathan Maron |
| YARN-5126 | Remove CHANGES.txt from branch-2 | Major | . | Akira Ajisaka | Akira Ajisaka |
| YARN-5112 | Excessive log warnings for directory permission issue on NM recovery. | Major | . | Jian He | Jian He |
| YARN-4979 | FSAppAttempt demand calculation considers demands at multiple locality levels different | Major | fairscheduler | zhihai xu | zhihai xu |
| MAPREDUCE-6703 | Add flag to allow MapReduce AM to request for OPPORTUNISTIC containers | Major | . | Arun Suresh | Arun Suresh |
| YARN-5131 | Distributed shell AM fails when extra container arrives during finishing | Major | . | Sumana Sathish | Wangda Tan |
| YARN-4866 | FairScheduler: AMs can consume all vcores leading to a livelock when using FAIR policy | Major | fairscheduler | Karthik Kambatla | Yufei Gu |
| HDFS-10463 | TestRollingFileSystemSinkWithHdfs needs some cleanup | Critical | . | Daniel Templeton | Daniel Templeton |
| HDFS-10449 | TestRollingFileSystemSinkWithHdfs#testFailedClose() fails on branch-2 | Major | test | Takanobu Asanuma | Takanobu Asanuma |
| HDFS-10485 | Fix findbugs warning in FSEditLog.java | Major | . | Akira Ajisaka | Akira Ajisaka |
| HDFS-10468 | HDFS read ends up ignoring an interrupt | Major | . | Siddharth Seth | Jing Zhao |
| MAPREDUCE-6240 | Hadoop client displays confusing error message | Major | client | Mohammad Kamrul Islam | Gera Shegalov |
| YARN-4308 | ContainersAggregated CPU resource utilization reports negative usage in first few heartbeats | Major | nodemanager | Sunil G | Sunil G |
| HDFS-10508 | DFSInputStream should set thread's interrupt status after catching InterruptException from sleep | Major | . | Jing Zhao | Jing Zhao |
| HADOOP-13243 | TestRollingFileSystemSink.testSetInitialFlushTime() fails intermittently | Minor | test | Daniel Templeton | Daniel Templeton |
| YARN-5077 | Fix FSLeafQueue#getFairShare() for queues with zero fairshare | Major | . | Yufei Gu | Yufei Gu |
| HDFS-10437 | ReconfigurationProtocol not covered by HDFSPolicyProvider. | Major | namenode | Chris Nauroth | Arpit Agarwal |
| YARN-5246 | NMWebAppFilter web redirects drop query parameters | Major | . | Varun Vasudev | Varun Vasudev |
| MAPREDUCE-6197 | Cache MapOutputLocations in ShuffleHandler | Major | . | Siddharth Seth | Junping Du |
| YARN-5266 | Wrong exit code while trying to get app logs using regex via CLI | Critical | yarn | Sumana Sathish | Xuan Gong |
| HDFS-10561 | test_native_mini_dfs fails by NoClassDefFoundError | Major | native, test | Akira Ajisaka | Akira Ajisaka |
| HDFS-10555 | Unable to loadFSEdits due to a failure in readCachePoolInfo | Critical | caching, namenode | Uma Maheswara Rao G | Uma Maheswara Rao G |
| MAPREDUCE-5803 | Counters page display all task neverthless of task type( Map or Reduce) | Minor | jobhistoryserver | Rohith Sharma K S | Kai Sasaki |
| YARN-5182 | MockNodes.newNodes creates one more node per rack than requested | Major | test | Karthik Kambatla | Karthik Kambatla |
| YARN-5282 | Fix typos in CapacityScheduler documentation | Trivial | documentation | Ray Chiang | Ray Chiang |
| HDFS-10572 | Fix TestOfflineEditsViewer#testGenerated | Blocker | test | Xiaoyu Yao | Surendra Singh Lilhore |
| YARN-5296 | NMs going OutOfMemory because ContainerMetrics leak in ContainerMonitorImpl | Major | nodemanager | Karam Singh | Junping Du |
| YARN-5294 | Pass remote ip address down to YarnAuthorizationProvider | Major | . | Jian He | Jian He |
| HDFS-10336 | TestBalancer failing intermittently because of not reseting UserGroupInformation completely | Major | test | Yiqun Lin | Yiqun Lin |
| YARN-4366 | Fix Lint Warnings in YARN Common | Major | yarn | Daniel Templeton | Daniel Templeton |
| HADOOP-13315 | FileContext#umask is not initialized properly | Minor | . | John Zhuge | John Zhuge |
| HADOOP-11361 | Fix a race condition in MetricsSourceAdapter.updateJmxCache | Major | . | Brahma Reddy Battula | Brahma Reddy Battula |
| YARN-5362 | TestRMRestart#testFinishedAppRemovalAfterRMRestart can fail | Major | . | Jason Lowe | sandflee |
| HDFS-10544 | Balancer doesn't work with IPFailoverProxyProvider | Major | balancer & mover, ha | Zhe Zhang | Zhe Zhang |
| HDFS-10617 | PendingReconstructionBlocks.size() should be synchronized | Major | . | Eric Badger | Eric Badger |
| YARN-5383 | Fix findbugs for nodemanager & checkstyle warnings in nodemanager.ContainerExecutor | Major | nodemanager | Vrushali C | Vrushali C |
| MAPREDUCE-6733 | MapReduce JerseyTest tests failing with "java.net.BindException: Address already in use" | Critical | test | Vinod Kumar Vavilapalli | Vinod Kumar Vavilapalli |
| HADOOP-13254 | Create framework for configurable disk checkers | Major | util | Yufei Gu | Yufei Gu |
| YARN-5272 | Handle queue names consistently in FairScheduler | Major | fairscheduler | Wilfred Spiegelenburg | Wilfred Spiegelenburg |
| YARN-5213 | Fix a bug in LogCLIHelpers which cause TestLogsCLI#testFetchApplictionLogs fails intermittently | Major | test | Rohith Sharma K S | Xuan Gong |
| YARN-5195 | RM intermittently crashed with NPE while handling APP_ATTEMPT_REMOVED event when async-scheduling enabled in CapacityScheduler | Major | resourcemanager | Karam Singh | sandflee |
| YARN-5441 | Fixing minor Scheduler test case failures | Major | . | Subru Krishnan | Subru Krishnan |
| YARN-5440 | Use AHSClient in YarnClient when TimelineServer is running | Major | . | Xuan Gong | Xuan Gong |
| YARN-5203 | Return ResourceRequest JAXB object in ResourceManager Cluster Applications REST API | Major | . | Subru Krishnan | Ellen Hui |
| HDFS-9276 | Failed to Update HDFS Delegation Token for long running application in HA mode | Major | fs, ha, security | Liangliang Gu | Liangliang Gu |
| YARN-5436 | Race in AsyncDispatcher can cause random test failures in Tez (probably YARN also) | Major | . | Zhiyuan Yang | Zhiyuan Yang |
| HADOOP-13381 | KMS clients should use KMS Delegation Tokens from current UGI. | Critical | kms | Xiao Chen | Xiao Chen |
| YARN-5444 | Fix failing unit tests in TestLinuxContainerExecutorWithMocks | Major | nodemanager | Yufei Gu | Yufei Gu |
| MAPREDUCE-6724 | Single shuffle to memory must not exceed Integer#MAX_VALUE | Major | mrv2 | Haibo Chen | Haibo Chen |
| HDFS-5805 | TestCheckpoint.testCheckpoint fails intermittently on branch2 | Major | . | Mit Desai | Eric Badger |
| HDFS-742 | A down DataNode makes Balancer to hang on repeatingly asking NameNode its partial block list | Minor | balancer & mover | Hairong Kuang | Mit Desai |
| HDFS-10569 | A bug causes OutOfIndex error in BlockListAsLongs | Minor | . | Weiwei Yang | Weiwei Yang |
| HADOOP-13443 | KMS should check the type of underlying keyprovider of KeyProviderExtension before falling back to default | Minor | kms | Anthony Young-Garner | Anthony Young-Garner |
| YARN-5333 | Some recovered apps are put into default queue when RM HA | Major | . | Jun Gong | Jun Gong |
| HADOOP-13353 | LdapGroupsMapping getPassward shouldn't return null when IOException throws | Major | security | Zhaohao Liang | Wei-Chiu Chuang |
| YARN-4624 | NPE in PartitionQueueCapacitiesInfo while accessing Schduler UI | Major | . | Brahma Reddy Battula | Brahma Reddy Battula |
| HADOOP-13403 | AzureNativeFileSystem rename/delete performance improvements | Major | azure | Subramanyam Pattipaka | Subramanyam Pattipaka |
| HDFS-10457 | DataNode should not auto-format block pool directory if VERSION is missing | Major | datanode | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HDFS-4176 | EditLogTailer should call rollEdits with a timeout | Major | ha, namenode | Todd Lipcon | Lei (Eddy) Xu |
| HADOOP-13476 | CredentialProviderFactory fails at class loading from libhdfs (JNI) | Major | fs/s3 | Aaron Fabbri | Aaron Fabbri |
| HDFS-8224 | Schedule a block for scanning if its metadata file is corrupt | Major | datanode | Rushabh S Shah | Rushabh S Shah |
| HADOOP-13461 | NPE in KeyProvider.rollNewVersion | Minor | . | Colm O hEigeartaigh | Colm O hEigeartaigh |
| HDFS-8897 | Balancer should handle fs.defaultFS trailing slash in HA | Major | balancer & mover | LINTE | John Zhuge |
| HADOOP-13441 | Document LdapGroupsMapping keystore password properties | Minor | security | Wei-Chiu Chuang | Yuanbo Liu |
| YARN-4833 | For Queue AccessControlException client retries multiple times on both RM | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| YARN-5491 | Random Failure TestCapacityScheduler#testCSQueueBlocked | Major | test | Bibin A Chundatt | Bibin A Chundatt |
| YARN-5521 | TestCapacityScheduler#testKillAllAppsInQueue fails randomly | Major | . | Varun Saxena | sandflee |
| HADOOP-13437 | KMS should reload whitelist and default key ACLs when hot-reloading | Major | kms | Xiao Chen | Xiao Chen |
| YARN-5514 | Clarify DecommissionType.FORCEFUL comment | Minor | documentation | Robert Kanter | Vrushali C |
| YARN-5475 | Test failed for TestAggregatedLogFormat on trunk | Major | . | Junping Du | Jun Gong |
| YARN-5523 | Yarn running container log fetching causes OutOfMemoryError | Major | log-aggregation | Prasanth Jayachandran | Xuan Gong |
| YARN-5526 | DrainDispacher#ServiceStop blocked if setDrainEventsOnStop invoked | Major | . | sandflee | sandflee |
| YARN-5533 | JMX AM Used metrics for queue wrong when app submited to nodelabel partition | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| MAPREDUCE-6762 | ControlledJob#toString failed with NPE when job status is not successfully updated | Major | . | Weiwei Yang | Weiwei Yang |
| HADOOP-13526 | Add detailed logging in KMS for the authentication failure of proxy user | Minor | kms | Suraj Acharya | Suraj Acharya |
| HDFS-8312 | Trash does not descent into child directories to check for permissions | Critical | fs, security | Eric Yang | Weiwei Yang |
| YARN-5537 | Intermittent test failure of TestAMRMClient#testAMRMClientWithContainerResourceChange | Major | . | Varun Saxena | Bibin A Chundatt |
| YARN-5430 | Return container's ip and host from NM ContainerStatus call | Major | . | Jian He | Jian He |
| YARN-5373 | NPE listing wildcard directory in containerLaunch | Blocker | nodemanager | Haibo Chen | Daniel Templeton |
| HADOOP-12765 | HttpServer2 should switch to using the non-blocking SslSelectChannelConnector to prevent performance degradation when handling SSL connections | Major | . | Min Shen | Min Shen |
| YARN-5555 | Scheduler UI: "% of Queue" is inaccurate if leaf queue is hierarchically nested. | Minor | . | Eric Payne | Eric Payne |
| HADOOP-13558 | UserGroupInformation created from a Subject incorrectly tries to renew the Kerberos ticket | Major | security | Alejandro Abdelnur | Xiao Chen |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| HDFS-9300 | TestDirectoryScanner.testThrottle() is still a little flakey | Major | balancer & mover, test | Daniel Templeton | Daniel Templeton |
| YARN-4704 | TestResourceManager#testResourceAllocation() fails when using FairScheduler | Major | fairscheduler, test | Ray Chiang | Yufei Gu |
| HDFS-9888 | Allow reseting KerberosName in unit tests | Minor | . | Xiao Chen | Xiao Chen |
| HADOOP-12701 | Run checkstyle on test source files | Minor | . | John Zhuge | John Zhuge |
| YARN-5024 | TestContainerResourceUsage#testUsageAfterAMRestartWithMultipleContainers random failure | Major | test | Bibin A Chundatt | Bibin A Chundatt |
| YARN-5005 | TestRMWebServices#testDumpingSchedulerLogs fails randomly | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| YARN-5118 | Tests fails with localizer port bind exception. | Major | test | Brahma Reddy Battula | Brahma Reddy Battula |
| YARN-4989 | TestWorkPreservingRMRestart#testCapacitySchedulerRecovery fails intermittently | Major | test | Rohith Sharma K S | Ajith S |
| YARN-5208 | Run TestAMRMClient TestNMClient TestYarnClient TestClientRMTokens TestAMAuthorization tests with hadoop.security.token.service.use_ip enabled | Blocker | test | Rohith Sharma K S | Rohith Sharma K S |
| HADOOP-13395 | Enhance TestKMSAudit | Minor | kms | Xiao Chen | Xiao Chen |
| YARN-5343 | TestContinuousScheduling#testSortedNodes fails intermittently | Minor | . | sandflee | Yufei Gu |
| YARN-2398 | TestResourceTrackerOnHA crashes | Major | test | Jason Lowe | Ajith S |
| YARN-5608 | TestAMRMClient.setup() fails with ArrayOutOfBoundsException | Major | test | Daniel Templeton | Daniel Templeton |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| HDFS-9129 | Move the safemode block count into BlockManager | Major | namenode | Haohui Mai | Mingliang Liu |
| HDFS-9414 | Refactor reconfiguration of ClientDatanodeProtocol for reusability | Major | . | Xiaobing Zhou | Xiaobing Zhou |
| HDFS-9371 | Code cleanup for DatanodeManager | Major | namenode | Jing Zhao | Jing Zhao |
| YARN-1856 | cgroups based memory monitoring for containers | Major | nodemanager | Karthik Kambatla | Varun Vasudev |
| YARN-2882 | Add an OPPORTUNISTIC ExecutionType | Major | nodemanager | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-3480 | Recovery may get very slow with lots of services with lots of app-attempts | Major | resourcemanager | Jun Gong | Jun Gong |
| HDFS-9498 | Move code that tracks blocks with future generation stamps to BlockManagerSafeMode | Major | namenode | Mingliang Liu | Mingliang Liu |
| YARN-4550 | some tests in TestContainerLanch fails on non-english locale environment | Minor | nodemanager, test | Takashi Ohnishi | Takashi Ohnishi |
| YARN-4335 | Allow ResourceRequests to specify ExecutionType of a request ask | Major | nodemanager, resourcemanager | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-4553 | Add cgroups support for docker containers | Major | yarn | Sidharta Seethana | Sidharta Seethana |
| YARN-4526 | Make SystemClock singleton so AppSchedulingInfo could use it | Major | scheduler | Karthik Kambatla | Karthik Kambatla |
| HDFS-9542 | Move BlockIdManager from FSNamesystem to BlockManager | Major | namenode | Jing Zhao | Jing Zhao |
| YARN-4578 | Directories that are mounted in docker containers need to be more restrictive/container-specific | Major | yarn | Sidharta Seethana | Sidharta Seethana |
| YARN-4574 | TestAMRMClientOnRMRestart fails on trunk | Major | client, test | Takashi Ohnishi | Takashi Ohnishi |
| YARN-4613 | TestClientRMService#testGetClusterNodes fails occasionally | Major | test | Jason Lowe | Takashi Ohnishi |
| HDFS-9094 | Add command line option to ask NameNode reload configuration. | Major | namenode | Xiaobing Zhou | Xiaobing Zhou |
| YARN-4633 | TestRMRestart.testRMRestartAfterPreemption fails intermittently in trunk | Major | test | Rohith Sharma K S | Bibin A Chundatt |
| YARN-4543 | TestNodeStatusUpdater.testStopReentrant fails + JUnit misusage | Minor | nodemanager | Akihiro Suda | Akihiro Suda |
| YARN-4615 | TestAbstractYarnScheduler#testResourceRequestRecoveryToTheRightAppAttempt fails occasionally | Major | test | Jason Lowe | Sunil G |
| YARN-4684 | TestYarnCLI#testGetContainers failing in CN locale | Major | yarn | Bibin A Chundatt | Bibin A Chundatt |
| HDFS-9754 | Avoid unnecessary getBlockCollection calls in BlockManager | Major | namenode | Jing Zhao | Jing Zhao |
| HDFS-9691 | TestBlockManagerSafeMode#testCheckSafeMode fails intermittently | Major | test | Mingliang Liu | Mingliang Liu |
| HADOOP-12710 | Remove dependency on commons-httpclient for TestHttpServerLogs | Major | . | Wei-Chiu Chuang | Wei-Chiu Chuang |
| HDFS-7964 | Add support for async edit logging | Major | namenode | Daryn Sharp | Daryn Sharp |
| YARN-4749 | Generalize config file handling in container-executor | Major | nodemanager | Sidharta Seethana | Sidharta Seethana |
| HDFS-1477 | Support reconfiguring dfs.heartbeat.interval and dfs.namenode.heartbeat.recheck-interval without NN restart | Major | namenode | Patrick Kling | Xiaobing Zhou |
| YARN-4108 | CapacityScheduler: Improve preemption to only kill containers that would satisfy the incoming request | Major | capacity scheduler | Wangda Tan | Wangda Tan |
| HADOOP-12926 | lz4.c does not detect 64-bit mode properly | Major | native | Alan Burlison | Alan Burlison |
| HDFS-9005 | Provide configuration support for upgrade domain | Major | . | Ming Ma | Ming Ma |
| YARN-4805 | Don't go through all schedulers in ParameterizedTestBase | Major | . | Karthik Kambatla | Karthik Kambatla |
| HDFS-9349 | Support reconfiguring fs.protected.directories without NN restart | Major | namenode | Xiaobing Zhou | Xiaobing Zhou |
| YARN-4822 | Refactor existing Preemption Policy of CS for easier adding new approach to select preemption candidates | Major | . | Wangda Tan | Wangda Tan |
| YARN-4811 | Generate histograms in ContainerMetrics for actual container resource usage | Major | . | Varun Vasudev | Varun Vasudev |
| HADOOP-12753 | S3A JUnit tests failing if using HTTP proxy | Minor | fs/s3 | Zoran Rajic | Zoran Rajic |
| HDFS-10209 | Support enable caller context in HDFS namenode audit log without restart namenode | Major | . | Xiaoyu Yao | Xiaobing Zhou |
| HDFS-10286 | Fix TestDFSAdmin#testNameNodeGetReconfigurableProperties | Major | . | Xiaoyu Yao | Xiaobing Zhou |
| HDFS-10284 | o.a.h.hdfs.server.blockmanagement.TestBlockManagerSafeMode.testCheckSafeMode fails intermittently | Major | test | Mingliang Liu | Mingliang Liu |
| YARN-2883 | Queuing of container requests in the NM | Major | nodemanager, resourcemanager | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-4890 | Unit test intermittent failure: TestNodeLabelContainerAllocation#testQueueUsedCapacitiesUpdate | Major | . | Wangda Tan | Sunil G |
| HDFS-10207 | Support enable Hadoop IPC backoff without namenode restart | Major | . | Xiaoyu Yao | Xiaobing Zhou |
| YARN-4968 | A couple of AM retry unit tests need to wait SchedulerApplicationAttempt stopped. | Major | . | Wangda Tan | Wangda Tan |
| YARN-4846 | Random failures for TestCapacitySchedulerPreemption#testPreemptionPolicyShouldRespectAlreadyMarkedKillableContainers | Major | . | Bibin A Chundatt | Bibin A Chundatt |
| YARN-2885 | Create AMRMProxy request interceptor for distributed scheduling decisions for queueable containers | Major | nodemanager, resourcemanager | Konstantinos Karanasos | Arun Suresh |
| YARN-4966 | Improve yarn logs to fetch container logs without specifying nodeId | Major | . | Xuan Gong | Xuan Gong |
| YARN-4807 | MockAM#waitForState sleep duration is too long | Major | . | Karthik Kambatla | Yufei Gu |
| YARN-3998 | Add support in the NodeManager to re-launch containers | Major | . | Jun Gong | Jun Gong |
| YARN-4920 | ATS/NM should support a link to dowload/get the logs in text format | Major | yarn | Xuan Gong | Xuan Gong |
| YARN-4905 | Improve "yarn logs" command-line to optionally show log metadata also | Major | . | Xuan Gong | Xuan Gong |
| YARN-4595 | Add support for configurable read-only mounts when launching Docker containers | Major | yarn | Billie Rinaldi | Billie Rinaldi |
| YARN-4390 | Do surgical preemption based on reserved container in CapacityScheduler | Major | capacity scheduler | Eric Payne | Wangda Tan |
| YARN-4778 | Support specifying resources for task containers in SLS | Major | . | Wangda Tan | Wangda Tan |
| YARN-4842 | "yarn logs" command should not require the appOwner argument | Major | . | Ram Venkatesh | Xuan Gong |
| YARN-5073 | Refactor startContainerInternal() in ContainerManager to remove unused parameter | Minor | nodemanager, resourcemanager | Konstantinos Karanasos | Konstantinos Karanasos |
| HDFS-9389 | Add maintenance states to AdminStates | Major | . | Ming Ma | Ming Ma |
| YARN-2888 | Corrective mechanisms for rebalancing NM container queues | Major | nodemanager, resourcemanager | Konstantinos Karanasos | Arun Suresh |
| YARN-4738 | Notify the RM about the status of OPPORTUNISTIC containers | Major | nodemanager, resourcemanager | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-5075 | Fix findbugs warning in hadoop-yarn-common module | Major | . | Akira Ajisaka | Arun Suresh |
| YARN-4412 | Create ClusterMonitor to compute ordered list of preferred NMs for OPPORTUNITIC containers | Major | nodemanager, resourcemanager | Arun Suresh | Arun Suresh |
| YARN-5090 | Add End-to-End test-cases for DistributedScheduling using MiniYarnCluster | Major | . | Arun Suresh | Arun Suresh |
| YARN-4913 | Yarn logs should take a -out option to write to a directory | Major | . | Xuan Gong | Xuan Gong |
| HDFS-2173 | saveNamespace should not throw IOE when only one storage directory fails to write VERSION file | Major | . | Todd Lipcon | Andras Bokor |
| YARN-5110 | Fix OpportunisticContainerAllocator to insert complete HostAddress in issued ContainerTokenIds | Major | . | Arun Suresh | Konstantinos Karanasos |
| YARN-5016 | Add support for a minimum retry interval for container retries | Major | . | Varun Vasudev | Jun Gong |
| HDFS-7766 | Add a flag to WebHDFS op=CREATE to not respond with a 307 redirect | Major | ui, webhdfs | Ravi Prakash | Ravi Prakash |
| YARN-5115 | Avoid setting CONTENT-DISPOSITION header in the container-logs web-service | Major | . | Xuan Gong | Xuan Gong |
| YARN-5089 | Improve "yarn log" command-line "logFiles" option to support regex | Major | . | Xuan Gong | Xuan Gong |
| YARN-5127 | Expose ExecutionType in Container api record | Major | . | Arun Suresh | Hitesh Sharma |
| YARN-5117 | QueuingContainerManager does not start GUARANTEED Container even if Resources are available | Major | . | Arun Suresh | Konstantinos Karanasos |
| YARN-4007 | Add support for different network setups when launching the docker container | Major | nodemanager | Varun Vasudev | Sidharta Seethana |
| YARN-5141 | Get Container logs for the Running application from Yarn Logs CommandLine | Major | . | Xuan Gong | Xuan Gong |
| YARN-5088 | Improve "yarn log" command-line to read the last K bytes for the log files | Major | . | Xuan Gong | Xuan Gong |
| YARN-5162 | Fix Exceptions thrown during registerAM call when Distributed Scheduling is Enabled | Major | . | Arun Suresh | Hitesh Sharma |
| HDFS-9877 | HDFS Namenode UI: Fix browsing directories that need to be encoded | Major | ui | Ravi Prakash | Ravi Prakash |
| HDFS-7767 | Use the noredirect flag in WebHDFS to allow web browsers to upload files via the NN UI | Major | ui, webhdfs | Ravi Prakash | Ravi Prakash |
| YARN-5180 | Allow ResourceRequest to specify an enforceExecutionType flag | Major | . | Arun Suresh | Arun Suresh |
| YARN-5204 | Properly report status of killed/stopped queued containers | Major | . | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-5191 | Rename the “download=true” option for getLogs in NMWebServices and AHSWebServices | Major | . | Xuan Gong | Xuan Gong |
| HDFS-7987 | Allow files / directories to be moved | Major | ui | Ravi Prakash | Ravi Prakash |
| YARN-5124 | Modify AMRMClient to set the ExecutionType in the ResourceRequest | Major | . | Arun Suresh | Arun Suresh |
| YARN-5212 | Run existing ContainerManager tests using QueuingContainerManagerImpl | Major | . | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-4887 | AM-RM protocol changes for identifying resource-requests explicitly | Major | applications, resourcemanager | Subru Krishnan | Subru Krishnan |
| HDFS-9016 | Display upgrade domain information in fsck | Major | . | Ming Ma | Ming Ma |
| YARN-5223 | Container line in yarn logs output for a live application should include the hostname for the container | Major | . | Siddharth Seth | Xuan Gong |
| YARN-5122 | "yarn logs" for running containers should print an explicit footer saying that the log may be incomplete | Major | . | Vinod Kumar Vavilapalli | Jian He |
| HDFS-9922 | Upgrade Domain placement policy status marks a good block in violation when there are decommissioned nodes | Minor | . | Chris Trezzo | Chris Trezzo |
| YARN-5251 | Yarn CLI to obtain App logs for last 'n' bytes fails with 'java.io.IOException' and for 'n' bytes fails with NumberFormatException | Blocker | . | Sumana Sathish | Xuan Gong |
| HDFS-10328 | Add per-cache-pool default replication num configuration | Minor | caching | xupeng | xupeng |
| YARN-5171 | Extend DistributedSchedulerProtocol to notify RM of containers allocated by the Node | Major | . | Arun Suresh | Inigo Goiri |
| YARN-5227 | yarn logs command: no need to specify -applicationId when specifying containerId | Major | . | Jian He | Gergely Novák |
| YARN-5224 | Logs for a completed container are not available in the yarn logs output for a live application | Major | . | Siddharth Seth | Xuan Gong |
| YARN-5233 | Support for specifying a path for ATS plugin jars | Major | timelineserver | Li Lu | Li Lu |
| YARN-5200 | Improve yarn logs to get Container List | Major | . | Xuan Gong | Xuan Gong |
| YARN-5299 | Log Docker run command when container fails | Major | yarn | Varun Vasudev | Varun Vasudev |
| YARN-4759 | Fix signal handling for docker containers | Major | yarn | Sidharta Seethana | Shane Kumpf |
| YARN-5363 | For AM containers, or for containers of running-apps, "yarn logs" incorrectly only (tries to) shows syslog file-type by default | Major | log-aggregation | Vinod Kumar Vavilapalli | Vinod Kumar Vavilapalli |
| YARN-5298 | Mount usercache and NM filecache directories into Docker container | Major | yarn | Varun Vasudev | Sidharta Seethana |
| YARN-5361 | Obtaining logs for completed container says 'file belongs to a running container ' at the end | Critical | . | Sumana Sathish | Xuan Gong |
| YARN-5350 | Distributed Scheduling: Ensure sort order of allocatable nodes returned by the RM is not lost | Major | . | Arun Suresh | Arun Suresh |
| YARN-5392 | Replace use of Priority in the Scheduling infrastructure with an opaque ShedulerRequestKey | Major | . | Arun Suresh | Arun Suresh |
| YARN-5351 | ResourceRequest should take ExecutionType into account during comparison | Major | . | Konstantinos Karanasos | Konstantinos Karanasos |
| YARN-5113 | Refactoring and other clean-up for distributed scheduling | Major | . | Arun Suresh | Konstantinos Karanasos |
| YARN-5458 | Rename DockerStopCommandTest to TestDockerStopCommand | Trivial | . | Shane Kumpf | Shane Kumpf |
| YARN-5443 | Add support for docker inspect command | Major | yarn | Shane Kumpf | Shane Kumpf |
| YARN-5226 | remove AHS enable check from LogsCLI#fetchAMContainerLogs | Major | . | Xuan Gong | Xuan Gong |
| HDFS-10656 | Optimize conversion of byte arrays back to path string | Major | hdfs | Daryn Sharp | Daryn Sharp |
| HDFS-10674 | Optimize creating a full path from an inode | Major | hdfs | Daryn Sharp | Daryn Sharp |
| YARN-5459 | Add support for docker rm | Minor | yarn | Shane Kumpf | Shane Kumpf |
| HDFS-10673 | Optimize FSPermissionChecker's internal path usage | Major | hdfs | Daryn Sharp | Daryn Sharp |
| YARN-5429 | Fix @return related javadoc warnings in yarn-api | Major | . | Vrushali C | Vrushali C |
| YARN-4888 | Changes in scheduler to identify resource-requests explicitly by allocation-id | Major | resourcemanager | Subru Krishnan | Subru Krishnan |
| YARN-5470 | Differentiate exactly match with regex in yarn log CLI | Major | . | Xuan Gong | Xuan Gong |
| YARN-5394 | Remove bind-mount /etc/passwd for Docker containers | Major | yarn | Zhankun Tang | Zhankun Tang |
| YARN-5137 | Make DiskChecker pluggable in NodeManager | Major | nodemanager | Ray Chiang | Yufei Gu |
| HADOOP-13208 | S3A listFiles(recursive=true) to do a bulk listObjects instead of walking the pseudo-tree of directories | Minor | fs/s3 | Steve Loughran | Steve Loughran |
| YARN-4676 | Automatic and Asynchronous Decommissioning Nodes Status Tracking | Major | resourcemanager | Daniel Zhi | Daniel Zhi |
| HADOOP-13446 | Support running isolated unit tests separate from AWS integration tests. | Major | fs/s3 | Chris Nauroth | Chris Nauroth |
| YARN-5042 | Mount /sys/fs/cgroup into Docker containers as read only mount | Major | yarn | Varun Vasudev | luhuichun |
| YARN-5564 | Fix typo in RM_SCHEDULER_RESERVATION_THRESHOLD_INCREMENT_MULTIPLE | Trivial | fairscheduler | Ray Chiang | Ray Chiang |
| YARN-3940 | Application moveToQueue should check NodeLabel permission | Major | resourcemanager | Bibin A Chundatt | Bibin A Chundatt |
| YARN-5557 | Add localize API to the ContainerManagementProtocol | Major | . | Jian He | Jian He |
| YARN-5327 | API changes required to support recurring reservations in the YARN ReservationSystem | Major | resourcemanager | Subru Krishnan | Sangeetha Abdu Jyothi |
| YARN-4889 | Changes in AMRMClient for identifying resource-requests explicitly | Major | resourcemanager | Subru Krishnan | Arun Suresh |
| HDFS-9392 | Admins support for maintenance state | Major | . | Ming Ma | Ming Ma |
| HDFS-10813 | DiskBalancer: Add the getNodeList method in Command | Minor | balancer & mover | Yiqun Lin | Yiqun Lin |
| YARN-5596 | Fix failing unit test in TestDockerContainerRuntime | Minor | nodemanager, yarn | Sidharta Seethana | Sidharta Seethana |
| YARN-5264 | Store all queue-specific information in FSQueue | Major | . | Yufei Gu | Yufei Gu |
| YARN-5576 | Allow resource localization while container is running | Major | . | Jian He | Jian He |
| HADOOP-13447 | Refactor S3AFileSystem to support introduction of separate metadata repository and tests. | Major | fs/s3 | Chris Nauroth | Chris Nauroth |
| JIRA | Summary | Priority | Component | Reporter | Contributor |
|---|---|---|---|---|---|
| YARN-4535 | Fix checkstyle error in CapacityScheduler.java | Trivial | . | Rohith Sharma K S | Naganarasimha G R |
| YARN-5297 | Avoid printing a stack trace when recovering an app after the RM restarts | Major | . | Siddharth Seth | Junping Du |


Unordered list
Peacock
Parrot
Sparrow
Swan
Pigeon
Peacock
Parrot
Sparrow
Swan
Pigeon
Peacock
Parrot
Sparrow
Swan
Pigeon


Julia is a programming language that is freely available.
We can use Julia
without installation by clicking the "launch Binder" badge. The notebook CalculusWithJulia.ipynb
is a blank notebook except for the command to load the CalculusWithJulia
package.
Alternatively, the juliabox.com service provides access to Julia
through the internet, though the free access is slated to be discontinued. Both use the Jupyter notebook interface, which we will assume, though many other means of interacting with Julia
are available.
Commands are typed into a notebook cell in Jupyter
. (Or at the command line.)
2 + 2 # use shift-enter to evaluate
4
Commands are executed by using shift-enter
or the play button in Jupyter
.
Commands may be separated by new lines or semicolons, allowing multiple commands per cell.
On a line, anything after a #
is a comment.
The results of the last line executed will be displayed in an output area. Separating values by commas allows more than one value to be displayed. Explicit printing can be done to output intermediate values.
Julia
has many different number types beyond the floating point type employed by most calculators. These include
Floating point numbers: 0.5
Integers: 2
Rational numbers: 1//2
Complex numbers 2 + 0im
As much as possible, operations involving certain types of numbers will produce output of a given type. For example, both of these divisions produce a floating point answer, even though mathematically, they need not:
2/1, 1/2
(2.0, 0.5)
Some operations won't work with integer types, but will with floating point types, as the type of output can't be assured.
Powers with negative bases, like (-3.0)^(1/3)
, are not defined. However, Julia
provides the special-case function cbrt
(and sqrt
) for handling these.
Integer operations may silently overflow, producing odd answers, at first glance:
2^64
0
(Though the output is predictable, if overflow is taken into consideration appropriateley.)
When different types of numbers are mixed, Julia
will usually promote the values to a common type before the operation:
(2 + 1//2) + 0.5
3.0
Julia
will first add 2
and 1//2
converting 2
to rational before doing so. Then add the result, 5//2
to 0.5
by promoting 5//2
to the floating point number 2.5
before proceeding.
Julia
uses a special type to store a handful of constants, of which both pi
and e
are used here. Theh special type allows these to be treated without round off, until they mix with other floating point numbers. There are some functions that require these be explicitly promoted to floating point. This can be done by calling float
.
The standard mathematical operations are implemented by +
, -
, *
, /
, ^
. Parentheses are used for grouping.
A vector is an indexed collection of similarly typed values. Vectors can be constructed with square brackets (syntax for concatenation):
[1,1,2,3,5,8]
6-element Array{Int64,1}: 1 1 2 3 5 8
(Vectors are used as a return type so some familiarity is needed.)
Regular arithmetic sequences can be defined by either:
Range operations: a:h:b
or a:b
which produces a generator of values starting at a
separated by h
(h
is 1
in the last form) until they reach b
.
range(a, b, length=n)
which produces a generator of n
values between a
and b
; (range(a, stop=b, length=n)
is needed for version v1.0.0
of `Julia.)
These constructs return range objects. A range object compactly stores the values it references. To see all the values, they can be collected with the collect
function, though this is hardly needed in practice.
Values can be assigned variable names, with =
. There are some variants
x = 2 a_really_long_name = 3 a, b = 1, 2 # multiple assignment a1 = a2 = 0 # chained assignment, sets a2 and a1 to 0
0
The names can be short, as above, or more verbose. They can't start with a number, but can include numbers. It can also be a fancy unicode or even an emoji.
We can then use the variables to reference the values:
x + a_really_long_name + a - b
4
Names may be repurposed, even with values of different types (a dynamic language), save for function names, which have some special rules and can only be redefined as an another function. (Generic functions are central to Julia
's design. Generic functions use a method table to dispatch on, so once a name is assigned to a generic function, it can not be used as a variable name; the reverse is also true.
Functions in Julia
are just regular objects. In these notes, we often pass them as arguments to other functions. There are many built-in functions and it is easy to define new functions.
We "call" a function by passing argument(s) to it, grouped by parentheses:
sqrt(10) sin(pi/3) log(5, 100) # log base 5 of 100
2.8613531161467867
With out parentheses, the name (usually) refers to a generic name and the output lists the number of available implementations.
log
log (generic function with 48 methods)
Julia
has numerous built-in mathematical functions, we review a few here:
Besides ^
, there are sqrt
and cbrt
for powers. In addition basic functions for exponential and logarithmic functions:
sqrt(x), cbrt(x)
exp(x)
log(x) # base e
log10(x), log2(x), log(b, x)
The $6$ standard trig functions are implemented; their implementation for degree arguments; their inverse functions; and the hyperbolic analogs.
sin, cos, tan, csc, sec, cot
asin, acos, atan, acsc, asec, acot
sinh, cosh, tanh, csch, sech, coth
asinh, acosh, atanh, acsch, asech, acoth
If degrees are preferred, the following are defined to work with degrees:
sind, cosd, tand, cscd, secd, cotd
Other useful and familiar functions are defined:
abs(x)
: absolute value
sign(x)
: is $\lvert x \rvert/x$ except at $x=0$, where it is $0$.
floor(x)
, ceil(x)
: greatest integer less or least integer greater
max(a,b)
, min(a,b)
: larger (or smaller) of a
or b
maximum(xs)
, minimum(xs)
: largest or smallest of the collection referred to by xs
Simple mathematical functions can be defined using standard mathematical notation:
f(x) = -16x^2 + 100x + 2
f (generic function with 1 method)
The argument x
is passed into the body of function.
Other values are found from the environment where defined:
a = 1 f(x) = 2*a + x f(3) # 2 * 1 + 3 a = 4 f(3) # now 2 * 4 + 3
11
User defined functions can have 0, 1 or more arguments:
area(w, h) = w*h
area (generic function with 1 method)
Julia makes different methods for generic function names, so functions whose argument specification is different are different functions, even if the name is the same. This is polymorphism. The practical use is that it means users need only remember a much smaller set of function names.
Functions can be defined with keyword arguments that may have defaults specified:
f(x; m=1, b=0) = m*x + b # note ";" f(1) # uses m=1, b=0 -> 1 * 1 + 0 f(1, m=10) # uses m=10, b=0 -> 10 * 1 + 0 f(1, m=10, b=5) # uses m=10, b=5 -> 10 * 1 + 5
15
Longer functions can be defined using the function
keyword, the last command executed is returned:
function f(x) y = x^2 z = y - 3 z end
f (generic function with 1 method)
Functions without names, anonymous functions, are made with the ->
syntax as in:
x -> cos(x)^2 - cos(2x)
#2 (generic function with 1 method)
These are useful when passing a function to another function or when writing a function that returns a function.
Julia
provides the traditional if-else-end
statements, but more conveniently has a ternary
operator for the simplest case:
our_abs(x) = (x < 0) ? -x : x
our_abs (generic function with 1 method)
Iterating over a collection can be done with the traditional for
loop. However, there are list comprehensions to mimic the definition of a set:
[x^2 for x in 1:10]
10-element Array{Int64,1}: 1 4 9 16 25 36 49 64 81 100
A function can be applied to each element of a vector through mapping or broadcasting. The latter is implemented in a succinct notation. Calling a function with a "." before its opening "(` will apply the function to each individual value in the argument:
xs = [1,2,3,4,5] sin.(xs) # gives back [sin(1), sin(2), sin(3), sin(4), sin(5)]
5-element Array{Float64,1}: 0.8414709848078965 0.9092974268256817 0.1411200080598672 -0.7568024953079282 -0.9589242746631385
Plotting is not built-in to Julia
, rather added through add-on packages. Julia
's Plots
package is an interface to several plotting packages. We mention plotly
(built-in) for web based graphics, and gr
for other graphics.
To use an add-on package, it must have been installed and it must be loaded each session. In these notes, the necessary packages are all loaded when an accompanying package, CalculusWithJulia
is loaded. Assuming it has been installed, this command will do so:
using CalculusWithJulia
With Plots
loaded, we can plot a function by passing the function object by name to plot
, specifying the range of $x$ values to show, as follows:
plot(sin, 0, 2pi) # plot a function - by name - over an interval [a,b]
This is in the form of the basic pattern employed: verb(function_object, arguments...)
. The verb in this example is plot
, the object sin
, the arguments 0, 2pi
to specify [a,b]
domain to plot over.
Plotting more than one function over $[a,b]$ is achieved through the plot!
function, which modifies the existing plot (plot
creates a new one):
plot(sin, 0, 2pi) plot!(cos, 0, 2pi) plot!(zero, 0, 2pi)
Plotting an anonymous function is a bit more immediate:
plot( x -> exp(-x/pi) * sin(x), 0, 2pi)
The Plots
package has other types of plots. Of note is scatter
which is used to make a scatter plot of two data sets.
Notation for Julia
and math is similar for functions - but not for equations. In math, an equation might look like:
\[ ~ x^2 + y^2 = 3 ~ \]
In Julia
the equals sign is only for assignment. The left-hand side of an equals sign in Julia
is reserved for a) variable assignment; b) function defintion (via f(x) = ...
); and c) indexed assignment to a vector or array. (Vectors are indexed by a number allow retrieval and setting of the stored value in the container. The notation mentioned here would be xs[2] = 3
to assign to the 2nd element a value 3
.
Symbolic math is available through an add-on package SymPy
. As with Plots
, this package is also loaded with CalculusWithJulia
. Once loaded, symbolic variables are created with @vars
:
using SymPy # load package, not needed here as it was done already with CalculusWithJulia @vars x a b c # no commas here, though `@vars(x,a,b,c)` can be used
(x, a, b, c)
Symbolic expressions - unlike numeric expressions - are not immediately evaluated, though they are simplified:
p = a*x^2 + b*x + c
To substitute a value, we can use pair
notation (variable=>value
):
p(x=>2), p(x=>2, a=>3, b=>4, c=>1)
(4*a + 2*b + c, 21)
This is convenient notation for calling the subs
function.
SymPy expressions of a single free variable can be plotted directly:
plot(64 - (1/2)*32 * x^2, 0, 2)
SymPy has functions for manipulating expressions: simplify
, expand
, together
, factor
, cancel
, apart
, args
, ...
SymPy has functions for basic math: factor
, solve
, ...
SymPy has functions for calculus: limit
, diff
, integrate


Air quality advisory ends for Metro Vancouver and Fraser Valley
Fine particulate matter levels have decreased
by Katya SlepianAn air quality bulletin for Metro Vancouver and the Fraser Valley has been cancelled.
In a news release Wednesday afternoon, Metro Vancouver said the fine particulate matter advisory is over. It had initially been issued on Friday.
“Air quality has improved due to changes in the weather that have increased dispersion of air contaminants from emissions sources in the region,” the news release stated.


Game
Home
Guessing Game
Was I born in Chicago?
Question 2: Am I a dog owner?
Question 3: What's my eventual goal?
Question 2: Do I have any pets?
Question 2: Do I have any pets?
Question 2: Do I have any pets?
Final Score:


Plan for My Page and Wireframe
06/16/14
My first step in improving my site is making it more responsive. In particular, I have this design in mind for a smaller screen:
Essentially, the design should become a single column instead of having a fixed width body. The changes include removing the fixed width for the body element, shifting the two aside elements to being aligned left, and moving the photo to just below the title.


{# Each choice field has a hidden input where its options' order is stored. #}
{# The index for choice questions is also kept in a hidden input. #}
{# Open the ordered list. #}
{# Template for each option #}
{% for i, option_value in choices.items %}
{{ option_value }}
{% endfor %}
{# Close the ordered list and add the 'add option' button. #}


| cb.save.model {xgboost} | R Documentation |
Callback closure for saving a model file.
cb.save.model(save_period = 0, save_name = "xgboost.model")
save_period |
save the model to disk after every
|
save_name |
the name or path for the saved model file.
It can contain a |
This callback function allows to save an xgb-model file, either periodically after each save_period
's or at the end.
Callback function expects the following values to be set in its calling frame:
bst
,
iteration
,
begin_iteration
,
end_iteration
.


About the project
Anomaly detection generic system on graphs that gives alerts and information on anomalies from the data.
Anomaly detection generic system on graphs that gives alerts and information on anomalies from the data.
Fyber is a global technology company, developing a next generation monetization platform for mobile publishers. Fyber combines proprietary technologies and expertise in mediation, RTB, video and audience segmentation to create holistic solutions that shape the future of the mobile app economy. This includes providing the world’s first and only mechanism to achieve a true state of header bidding for the mobile app environment.


Amazon Mechanical Turk API Reference (API Version 2008-08-02)
Copyright © 2009 Amazon Web Services LLC or its affiliates. All rights reserved.


This is some other "Master" view.
This is some other "Detail" view.
This is some modal view.
This is some OTHER modal view!!.


RePlay
Home
Enter Room1
Anna Goss Organics
Hosted by: Jasper
Pamper & Paint Party Monday 20th June 2015 19:00 - 22:30
http://www.lisol.co.uk
0
0
0
Welcome !
Thank you for attending. Please enter your information below to register for the event.
Your name
Access code
Email address (optional)
Submit
Please identify yourself.
Message
Video
Web page
Camera
Info
Add event
Send
Resources
Planner
Session
Save
Likes
Wishes
Plan
Save


Saxony public holiday: What is the history behind ‘Buß- und Bettag’?
by Kathrin ThamsNovember 20th marks more than a day off work in Saxony (and off school for those in Bavaria). We look at why it’s celebrated.
When does it take place?
The “Buß- and Bettag” (day of penance and prayer) always takes place on the Wednesday before the Ewigkeitssonntag (Eternity Sunday), also called Totensonntag (the Sunday before Advent on which the dead are commemorated).
This year it falls on Wednesday, November 20th, and next year it will occur on November 18th.
Meaning
“Buße” can wrongly be associated with penalties such as “Bußgeld” (penalty fee) but it actually refers to its religious sense, meaning the reorientation of a human.
This means that a person must show remorse for their sins and reflect on their faith in God (Theism).
READ ALSO: How to make the most of Germany's 2019 public holidays
Origin
“Buß- und Bettag” is a Protestant memorial day.
It dates back to the Middle Ages, where this day was summoned upon when the country was in a state of crisis or adversity.
Numerous protestants partaking in the church service for the "Buß- und Bettag" in Munich
Purpose
Its purpose is to call on people to pray and consider their faith.
There are three parts to the practicing of this holiday.
Firstly, the church intercedes sinners who feel guilty before God. Secondly, this holiday tests one’s consciousness before God. And lastly, the church should show its guardian function and devotion towards its people.
Why is it not celebrated Germany-wide?
“Buß- und Bettag” used to be celebrated across the German-speaking territories and beyond. In 1878, for example, it was celebrated in 28 countries.
During that time, the “Buß- und Bettag” had not yet received a fixed date but was selected individually by the country. Only in the “Reichs Gesetz” in 1934 was it voted to be a public holiday in the German Reich.
However, it was later abolished by most countries and eventually only Saxony sustained this holiday.
How is it celebrated nowadays?
In most German states, holiday laws permit that religious employees can take this day off if they request it.
READ ALSO: These are the 'special days' when you can get paid time off in Germany
These employees luckily do not have to take this holiday as part of their numbered vacation days, but they have to forgo their payment for this day.
In Bavaria “Buß- und Bettag” is a public holiday solely for school students, whereas in Saxony, it is a holiday for everyone.


The Service
you wish your Client
to connect to lives in a particular JavaScript context or 'endpoint'. thread.js has support follw the following endpoints out of the box:
SharedWorker
<iframe>
Worker
BroadCastChannel
It's up to you to point your Client
in the direction it's Service
can be found. You can do this in two ways:
- Pass an endpoint to a client when it's constructed
var endpoint = document.querySelector('iframe');
client('my-service', endpoint);
- Define an endpoint 'globally'
client.prototype.endpoint = document.querySelector('iframe');
client('my-service-1');
client('my-service-2');
client('my-service-3');
Custom endpoints
var customEndpoint = {
postMessage(data, transfer) { ... }
addListener(callback) { ... }
removeListener(callback) { ... }
}
client('my-service', customEndpoint);
var customEndpoint = {
postMessage(data, transfer) { ... }
addListener(callback) { ... }
removeListener(callback) { ... }
}
service('my-service')
.method('myMethod', ...)
.listen(customEndpoint);


Drag your item photos here
or
File Uploaded
Would you like to trade items from your wish list for this item?


Payment successful
Your confirmation number is
62F1DFC3
Payment summary
| Payment to: | James Halls |
|---|---|
| Payment amount: | £20 |
| Date payment made: | 04/04/2017 |
| Confirmation number: | 62F1DFC3 |
What happens next
- You’ll get email confirmation of payment
- The money should arrive in the prisoner's account in up to 3 working days


Here is my work-in-progress blog
Technical Blog #1
Cultural Blog #1
Technical Blog #2
Cultural Blog #2
Technical Blog #3
Cultural Blog #3
Technical Blog #4
Cultural Blog #4
Reflection #1
Reflection #2


| DOSE: |
6.0 g |
oral |
Kratom |
(leaves) |
Material: 6 grams of 'Kratom Premium Powdered Leaf' as called by the vendor. This is supposed to a potent form of the plant, also called 'super kratom'.
Subject: 160 lbs. male. Recent drug history: 2 beers were consumed about 2 hours prior to kratom consumption. Otherwise, no drug use on this day with the exception of a strong cup of coffee in the morning (12 hours earlier). Last meal was 4 hours before kratom consumption. Subject is a near-daily marijuana user, is a light/moderate drinker, a non-tobacco smoker, and daily, moderate coffee user in the mornings.
Method: About 6 grams of kratom were mixed with 6 ounces of tap water, mixed well with a fork, and drunk. No heating or filtering were involved. This form of kratom was stated by the vendor to be intended for those individuals who found the extraction process tedious, so all that is required is mixing with a liquid and drinking. The cup was filled with water again, and this was drunk to ensure no residual kratom was left on the sides of the cup.
Effect: After 20 minutes, I began to feel a stong, opiate-like effect. Very similar to Vikodin or Percacetts, however, less sedating. About 1.5 hours after kratom consumption, skin was itchy, as symptom common to opioid drugs. This was bearable. For a short period, perhaps 10 minutes, I felt a little upset to the stomach, 'queezy.' Again, this is expected of an opioid, and was bearable and transient in this case.
Duration:strong effects for 2 hours, with tapering off for another 2 hours
Comment: This was my third and most pleasant kratom experience. It was a higher dose than the previous two experiments. I was in no pain, but I sensed it would be an excellent analgesic. The active ingredient, mitragynine, has been shown to have analgesic properties comparable to morphine in nonhuman animal models. I would consider keeping it on hand for those times when a pain killer would be helpful, but a trip to the doctor and prescription would be a burden. The experience was extremely pleasant and euphoric. However, this herb definitely has abuse potential, like other opioid analgesics, and is to be respected and used with moderation and caution (e.g., dangerous to mix with alcohol).
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


We are given a robot arm (Figure 25.14a in the text) with two joints that move independently, and both are capable of swinging a full 360 degrees. It operates in a fixed sized box. It is mounted on a vertical base center of the bottom of the box. The segments of the arm are; the fixed base (black), a shoulder segment (blue), and an elbow segment (green).
When the joints move they alter the positions of the arm segments in a cartesian coordinate sytem. This is displayed in a workspace representation. Assuming the base segment is fixed, the robot's configuration can be described by a four-dimensional coordinate: \((x_e, y_e)\) for the location of the elbow relative to the environment and \((x_g, y_g)\) for the location of the gripper, or end of the elbow segment. Both sets of coordinates are necessary because for anyt given \((x_g, y_g)\), there can be as many as two possible values for \((x_e, y_e)\).
Not all workspace coordinates are actually attainable (even without obstacles). For example in the default configuration the arm is can't move throught the floor of the box, even though its reach could extend beyond that. When obstacles are added to workspace world, the arm has even more areas where it cannot reach.
When planning motions for the robot it is easier to use a configuration space representation. In this representation the state space is continuous. We represent the state with two values (angular); elbow \(\varphi_e\), and shoulder \(\varphi_s\). The configuration space range is is from \(-\pi\) to \(+\pi\). When the angle exceeds either of these values it is reset. For example if \(\varphi_s=\pi\) and we added \(a\) to it, the value becomes \(\varphi_s=\pi+a=-\pi+a \).
This visualization allows you to add obstacles to the workspace representation, by simply clicking on a cell in the workspace (toggling it dark gray). The configuration space is updated with regions that the arm can not access. Black areas indicate that the arm is up against the boundaries of the containing box. Blue indicates that the shoulder segment is prevented from orienting itself at that angle (\(\varphi_s\)). Green indicates that the elbow segment of the arm is prevented from orienting itself at that angle (\(\varphi_e\)). A small red cross indicates the current position of the robot gripper.
You can manually position the two joints with the shoulder and elbow contols (click in the circle to orient the joint). You can also alter the lengths of the segments (including the base), by clicking on those controls.
Clicking in the configuration space will immediately position the robot in the workspace (not subject to boundaries or obstacles).
You can animate movement of the arm with the Start and Stop buttons. This animation is not garanteed to reach all possible configurations. Depending on how the obstacles are arranged it may not be possible to the arm to get on either side of it. So the initial position of the arm can significantly affect the ability of the animation to reach a given configuration. It is also possible to get the arm "stuck", such that it doesn't move any more.
| \(y\) |
|
|||||||||||||||||||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |||||||||||||
| \(x\) |
Base Length: 3.0
Shoulder Length: 3.0
Elbow Length: 3.0
| \(\varphi_e\) |
|
|||||
| -\(\pi\) | 0 | \(\pi\) | ||||
| \(\varphi_s\) |


My Text Editor is Absolutely Sublime
by Devon Zuegel27 November 2015
I am a huge fan of Sublime Text. It is beautiful and easy to use fresh out of the box, and it does everything I need it to do. However, my favorite thing about Sublime is that it is extremely extensible. I have (perhaps too obsessively) customized my editor to the point that many people don't recognize it. Because I've been able to mold it behavior to fit my needs, I find that I'm much more productive on it than with any other editor, including others' Sublime instances.
## Useful packages ## *You can download a `.zip` containing all of the packages mentioned below [here](../assets/my-sublime-setup/packages.zip).* #### Alignment #### The easiest way to single-handedly make a block of code more readable is to align its contents, whether it's the values of a hash or the equals signs initializing a handful of variables at the beginning of a method. However, it's a pain the butt (and frankly not worth the time) to manually go through line-by-line adding the right spacing. With the Sublime alignment package, you can simply select the parts of the lines you want to be aligned and hold down `cmd + ctrl + a` to achieve the same result. (In the short recorded example to the right, I held down the `opt` button while dragging my mouse along the beginning of each line to select the relevant lines even faster.) Thanks to [John Backus](https://twitter.com/backus) for sharing this package with me. #### All Autocomplete #### Extends Sublime's autocompletion to find matches in all open files. #### AutoSpell #### Auto-replaces obvious spelling mistakes in `.md` and `.txt` files. #### Bracket Highlighter #### Highlights or underlines the innermost brackets of the code you're currently editing. You can see it in action in the alignment video above. #### FileDiffs #### Enables you to run quick diffs between any combination of open tabs, your clipboard, and files from the current project. #### Fold Comments #### Quickly fold all comments in the current document. #### GitGutter #### Small, unobtrusive symbols to the left gutter of Sublime indicate the lines' git status (if you are in a git repository). #### Origami #### Allows you to split Sublime into panes however you like with simple keyboard shortcuts. You can find my custom key bindings below, which include extensions to Origami's default shortcuts. #### Package Resource Viewer #### Enables quick viewing and editing of all your packages. It's a bit shocking that this doesn't come with Sublime by default; without this, you have to manually go through the bowels of your file system to find any `.tmLanguage`, `.sublime-package`, etc. files that you wanted to edit. In contrast, this plugin gives you fuzzy search over all of these packages directly from Sublime. In short –– it's great! #### Ruby Markers #### Executes Ruby code and updates `# =>` markers with the results. This one is particularly useful for demoing features of the language or testing the output of little scripts as you write them. If you've ever seen [Ruby Tapas](http://www.rubytapas.com/) (and if you haven't, you should!!!!), Avdi uses `xmpfilter` and `rcodetools` with Emacs to get this same behavior for his mini tutorials. Note that you may have to change the package settings from `"ruby_manager": "auto"` to `"ruby_manager": "rvm"` in order to get this to work. Thanks to [John Backus](https://twitter.com/backus) for sharing this package with me. #### Schemr & Themr #### These two packages enable you to quickly cycle through color schemes and themes (respectively) from any file rather than having to open your preferences file, manually update their file paths, switch back to your original open file to see the changes, and repeat each time you want to test out a new style. These packages aren't so critical for long-term use (I haven't changed my theme in months, and I don't plan on doing so in the near future), but they are really nice when you are first setting up your coding environment. ## Useful key bindings ## | **Shortcut** | **Result** | | -- | -- | | select, `cmd + g` | Selects all instances of the originally selected text | | select, `cmd + d` | Similar to `cmd + g`, except it adds each following instance one at a time | | `cmd + f` | search current document for string (or regex, if the `*` button to the left is toggled on) | | `cmd + shift + f` | expanded find menu; find & replace; advanced search, enabling you to specify what folders / types of files you wish to search | | `cmd + shift + i` | Auto indents code (works better for languages like C++ or Ruby, which have block endings defined more than just whitespace) | | `ctrl + cmd + up/down arrow` | Move current line(s) up/down | | `cmd + shift + d` | Duplicate current line(s) | | `cmd + x` | Cut current line(s) | | hold `cmd` while selecting | Make multiple selections | | `opt + drag cursor` | Make multiple selections (alternate) | | `cmd + k + 1` | Fold 1st layer of code (replace `1` with `2, 3, ...` to fold 2nd, 3rd, ... layers) | ## My custom key bindings ## ## My theme & color scheme ## A Sublime color scheme defines the syntax highlighting and canvas color of your editor, while a theme defines the styling of the sidebars, tabs, and find-and-replace menu. #### Pisco Sour color scheme #### - You can download my Pisco Sour color scheme [here]((../assets/my-sublime-setup/pisco-sour.tmTheme). - I created this theme with [tmTheme Editor](http://tmtheme-editor.herokuapp.com). Feel free to use or update my theme however you want. #### Spaceblack theme #### - You can download the Spaceblack theme [here]((../assets/my-sublime-setup/Spaceblack.sublime-theme). #### Screenshots #### Here are a few screenshots of my Sublime setup: | **Multimarkdown** | **Python** | | :---: | :---: | | ![](../assets/my-sublime-setup/md-sample.png) | ![](../assets/my-sublime-setup/py-sample.png) | | **Ruby** | **Haskell** | | ![](../assets/my-sublime-setup/rb-sample.png) | ![](../assets/my-sublime-setup/hs-sample.png) | ## My User Preferences files ## Sublime User Preferences files are where you define your color scheme, theme, and a variety of other customizations like line padding, minimap toggling, and line highlighting. You can find your `/User/Preferences.sublime-settings` file by pressing `cmd + /` or by going up to the **Sublime Text > Preferences > Settings – User** menu. Here is my User Preferences file: Sublime allows allows you to define language-specific user preferences. This particularly comes in handy for Markdown and plain-text editing, since they are so different from programming-centric uses of Sublime. For instance, I prefer not to have lines wrap around while I'm programming, but I can't live without it while working with real paragraphs rather than concise lines of code that are < 80 characters long. Also, I prefer my code-left-aligned, while I like having broad margins on either side of my text while writing. To access and edit language-specific preference files, go to **Sublime Text > Preferences > Package Settings > Markdown Editing > MultiMarkdown Settings –– User** (replacing "Markdown Editing" and "Multimarkdown Settings –– User" with the language with which you're working).


What's new in 10.0
Aggregators Java | .NetMemoryXtend for SSD
Interactive Online Tutorial
Release Notes
Persistence
Hibernate Support
Java | .Net
Direct Persistence
Java |
.Net
Async Persistence
Java | .Net
Pre-Loading
Java | .Net
The Processing Unit
Configuration
Java | .Net
Service Level Agreement
Deploying & Running
Java | .Net
Elastic Processing Unit


PyRadio: Command line internet radio player.
PyRadio can be controlled remotely using normal http requests either form the command line (with curl for example) or from a browser.
For this purpose, a simple web server has been integrated in PyRadio; this server can be started
The options one can set are:
Server IP
This can either be localhost (the server will be accessible from the current system only) or LAN (the server will be accessible from any PC on the local network).
Server Port
This is the port the server is listening to. Any free port number between 1025 and 65535 can be set here (default value is 9998).
Auto-start Server
This option is available in the config only. If set to True, the server will be automatically started when PyRadio starts.
After the server is up, pressing “\s” will display the following window:
This window will display both the server’s Text and Web address.
So, inserting the Web address displayed in the previous window in a web browser will result to the output shown at the left of following image, (which is actually a screenshot of my mobile phone).
The idea is that while PyRadio is running on the PC, people relaxing on the sofa, chilling with friends, listening to music from their favorite radio station, being able to increase / decrease the volume, change stations, etc. using their phones.
The available commands are “encoded” in the buttons shown on the screen; the right part of the image shows the output of the “Stations List” button. To start a station, I would just click (well, tap) on its name, and viola!
The Web interface will also show the song’s title, if availabe, or the name of the station that’s playing, if it’s not. In order to achieve this functionality, javascript is heavily used, so one should keep that in mind (in case javascript has been disabled in the browser, for example).
Why having the Text interface as well, one might ask…
Well, first of all it’s lighter, then one can use it to locally control PyRadio from a script and provide a way to adjust the volume for example, using some assigned shortcut key combination.
Inserting the Text address on a terminal using curl or wget or any similar software:
$ curl http://<IP_ADDRESS>:9998
or
$ wget http://<IP_ADDRESS>:9998 -q -O -
would result to displaying the list of available commands:
PyRadio Remote Service Global Commands Long Short Description -------------------------------------------------------------------- /info /i display PyRadio info /volumeup /vu increase volume /volumedown /vd decrease volume /vulumesave /vs save volume /mute /m toggle mute /log /g toggle stations logging /like /l tag (like) station Restricted Commands (Main mode only) -------------------------------------------------------------------- /toggle /t toggle playback /playlists /pl get playlists list /playlists/x /pl/x get stations list from playlist id x (x comes from command /pl) /playlists/x,y /pl/x,y play station id y from playlist id x /stations /st get stations list from current playlist /stations/x /st/x play station id x from current playlist /next /n play next station /previous /p play previous station /histnext /hn play next station from history /histprev /hp play previous station from history
The “Restricted Commands” will not work in Playlist mode; the “Global Commands” will work everywhere.
The following commands will increase / decrease the volume and mute the player:
$ curl http://<IP_ADDRESS>:9998/vu $ wget http://<IP_ADDRESS>:9998/vd -q -O - $ wget http://<IP_ADDRESS>:9998/m -q -O -
The following command will display the contents of the loaded playlist:
$ curl http://<IP_ADDRESS>:9998/st
The stations will be numbered, like so:
Stations List for Playlist: "stations" 1. Alternative (BAGeL Radio - SomaFM) 2. Alternative (The Alternative Project) ... 17. Jazz (Sonic Universe - SomaFM) + 18. Lounge (Illinois Street Lounge - SomaFM) 19. Pop (PopTron! - SomaFM) 20. Pop/Rock/Urban (Frequence 3 - Paris) ... > 34. Echoes of Bluemars - Cryosleep 34. Echoes of Bluemars - Voices from Within First column [> ]: Selected, [+ ]: Playing, [+>]: Both
so that in order to start playing station No 20, for example, one would just use the command:
$ curl http://<IP_ADDRESS>:9998/st/20
On first glance, the difference between a Text and a Web command is the /html part that exists in the later.
But things are actually more complex that that.
For example, when the /st command is issued, the server will return the list of stations as text and keep listening for connections. In this case, one requests has been made to the server and one response has been returned.
Now, if the /html/st command was issued, the server will return the same list, but formatted as html, so that a browser can correctly display it.
This output would pretty much be unusable to a user issuing the “html” command on a terminal.
Furthermore, using it from a browser, clicking or tapping the corresponding button, will lead to a number of requests from the browser to the server (requesting the mute status, the player’s status, the song’s title, etc.).


{% extends "api.html" %} {% block api_content %}
The BossNews API lets you cleanly separate notification logic from your models and controllers. You can specify model attributes and collections to watch, and have a callback function invoked when that part of the model changes. BossNews might be used to send email updates about changes occuring on a website, or it might be used in conjunction with BossMQ to provide users with real-time events (for example, to fire an alert when someone replies to a user's forum post).
boss_news
moduleThe boss_news
module provides functions for creating and managing event listeners, called watches. Watches take a TopicString
, which is a comma-separated list of topics to watch, and then execute the provided function when a topic changes. The following table summarizes valid topics and the events that the callback function will receive:
| Topic | Event | EventInfo |
|---|---|---|
| RecordId.Attribute | updated | {Record, Attribute::atom(), OldValue, NewValue} |
| RecordId.* | updated | {Record, Attribute::atom(), OldValue, NewValue} |
| RecordId | deleted | DeletedRecord |
| Type-*.Attribute | updated | {Record, Attribute::atom(), OldValue, NewValue} |
| Type-*.* | updated | {Record, Attribute::atom(), OldValue, NewValue} |
| Collection | created | NewRecord |
| Collection | deleted | DeletedRecord |
Examples of valid topics are:
"user-42.status"
"user-*.status"
"user-42.*
"user-*.*
"users"
The return value of the callback function can be used to cancel (or extend) the watch that invoked the function. This feature can be used to ensure that a callback is only performed once. Meaningful return values are:
{ok, cancel_watch}
- Cancel the invoking watch.{ok, extend_watch}
- Extend the invoking watch.(Other return values are ignored.)
Functions for managing watches are:
{% for function in functions %} {% if function.description_long %}{{ function.description_long }}
{% endif %} {% endfor %}*_news.erl
startup scriptListeners should be set up in the priv/init/<appname>_news.erl
file in your project directory. The module should have one exported function, init/0
, which is executed at server startup. This function is a convenient place to set up listeners before any web requests are received, but listeners can be set up anywhere in the application.
The script's init/0
function must return {ok, ListOfWatchIDs}
. If the script is reloaded during the lifetime of the application (for example, via the admin application), then this list of watches will be cancelled before the script is executed again.
If the admin application is installed, other applications can post data update notifications to a Chicago Boss server via a simple HTTP API:
The body of the POST
request should include model attributes in the form new[<attr>]=<val>
and old[<attr>]=<val>
. The created
API takes only "new" attributes. The deleted
API takes only "old" attributes. The updated
API takes both "new" attributes and their corresponding "old" attributes.
When invoked via the HTTP API, all values are passed to the listeners as strings.
{% endblock %}