moby--moby/daemon
Shijiang Wei b1594c59f5 use pubsub instead of filenotify to follow json logs
inotify event is trigged immediately there's data written to disk.
But at the time that the inotify event is received, the json line might
not fully saved to disk. If the json decoder tries to decode in such
case, an io.UnexpectedEOF will be trigged.
We used to retry for several times to mitigate the io.UnexpectedEOF error.
But there are still flaky tests caused by the partial log entries.

The daemon knows exactly when there are new log entries emitted. We can
use the pubsub package to notify all the log readers instead of inotify.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>

try to fix broken test. will squash once tests pass

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2016-02-15 19:25:16 +08:00
..
events Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
exec Fix race condition in execCommandGC 2016-01-20 12:52:05 +08:00
execdriver fix common misspell 2016-02-11 15:49:36 -08:00
graphdriver Add proper refcounting to zfs graphdriver 2016-02-11 01:00:54 -05:00
links Replace usage of pkg/nat with go-connections/nat. 2015-12-22 13:31:46 -05:00
logger use pubsub instead of filenotify to follow json logs 2016-02-15 19:25:16 +08:00
network Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
README.md
archive.go Remove package daemonbuilder. 2016-02-01 09:57:38 -08:00
archive_unix.go Remove package daemonbuilder. 2016-02-01 09:57:38 -08:00
archive_windows.go Remove package daemonbuilder. 2016-02-01 09:57:38 -08:00
attach.go cleanup attach api calls 2016-02-09 14:26:51 -05:00
changes.go Rename `Daemon.Get` to `Daemon.GetContainer`. 2015-12-11 12:39:28 -05:00
commit.go Inherit StopSignal from Dockerfile. 2016-02-12 17:56:40 -05:00
config.go Merge pull request #19911 from Microsoft/jstarks/npipe 2016-02-02 15:59:45 -08:00
config_experimental.go Move userns support out of experimental into master 2016-01-08 15:06:22 -05:00
config_stub.go
config_test.go Verify that the configuration keys in the file are valid. 2016-01-21 16:56:12 -05:00
config_unix.go Windows: Add support for named pipe protocol 2016-02-01 19:46:30 -08:00
config_windows.go Windows: Add support for named pipe protocol 2016-02-01 19:46:30 -08:00
container_operations.go Move Container to its own package. 2015-12-03 17:39:49 +01:00
container_operations_unix.go Prevent mqueue from implicitely becoming a bind mount with --ipc=host 2016-02-09 14:16:08 -08:00
container_operations_windows.go *: purge dockerinit from source code 2016-01-26 23:47:02 +11:00
create.go Reject multiple networks on container creation 2016-01-25 12:50:01 -08:00
create_unix.go Merge pull request #19190 from srust/volume_driver_parity_again 2016-01-22 15:53:06 -05:00
create_windows.go Allow external volume drivers to host anonymous volumes and copy existing data from image. 2016-01-08 15:06:42 -05:00
daemon.go Add progress bar to docker load 2016-02-05 02:24:23 -05:00
daemon_experimental.go Move userns support out of experimental into master 2016-01-08 15:06:22 -05:00
daemon_linux.go Clean up container rootf mounts on daemon start fixes #19679 2016-02-03 20:52:32 -05:00
daemon_linux_test.go
daemon_stub.go Move userns support out of experimental into master 2016-01-08 15:06:22 -05:00
daemon_test.go Windows CI: Fix test-unit for daemon 2016-02-01 20:40:57 -08:00
daemon_unix.go user namespaces: duplicate dot in user namespaces error message 2016-02-03 16:56:34 +02:00
daemon_unix_test.go Windows CI: Fix test-unit for daemon 2016-02-01 20:40:57 -08:00
daemon_unsupported.go
daemon_windows.go daemon_unix: set golang runtime max threads 2016-01-30 21:37:24 +01:00
debugtrap_unix.go
debugtrap_unsupported.go
debugtrap_windows.go Fix typos found across repository 2015-12-13 18:04:12 +02:00
delete.go Remove redundant error message 2016-02-03 15:45:20 +08:00
delete_test.go Extract container store from the daemon. 2016-01-19 13:21:41 -05:00
discovery.go Allow to set daemon and server configurations in a file. 2016-01-14 16:44:37 -05:00
discovery_test.go Fix minor vet warnings 2016-02-03 10:43:01 -08:00
errors.go Add own reference package wrapper 2015-12-16 11:58:52 -08:00
events.go Add the possibility to log event with specific attributes 2016-01-17 12:14:01 +01:00
events_test.go Add the possibility to log event with specific attributes 2016-01-17 12:14:01 +01:00
exec.go Fix docker top a restarting container 2016-02-02 21:05:01 -05:00
exec_unix.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
exec_windows.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
export.go Rename `Daemon.Get` to `Daemon.GetContainer`. 2015-12-11 12:39:28 -05:00
image_delete.go fix common misspell 2016-02-11 15:49:36 -08:00
images.go Fix image filter 2016-01-14 08:17:40 +00:00
import.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
info.go *: purge dockerinit from source code 2016-01-26 23:47:02 +11:00
inspect.go Remove daemon dependency from api/server. 2016-02-10 15:16:59 -05:00
inspect_unix.go Remove daemon dependency from api/server. 2016-02-10 15:16:59 -05:00
inspect_windows.go Remove daemon dependency from api/server. 2016-02-10 15:16:59 -05:00
kill.go Remove redundant error message 2016-02-03 15:45:20 +08:00
links.go Add migration from sqlite links back to hostConfig 2016-01-11 11:31:29 -05:00
links_test.go Extract container store from the daemon. 2016-01-19 13:21:41 -05:00
list.go Windows: Fix 'isolation' 2016-02-10 13:19:19 -08:00
list_unix.go Move Container to its own package. 2015-12-03 17:39:49 +01:00
list_windows.go Move Container to its own package. 2015-12-03 17:39:49 +01:00
logdrivers_linux.go Add Splunk logging driver #16207 2015-10-23 13:37:53 -07:00
logdrivers_windows.go Enable Splunk logdriver for windows 2015-11-12 10:57:21 -08:00
logs.go Move stream flushes to backend 2016-02-09 14:25:02 -05:00
mounts.go On container rm, don't remove named mountpoints 2016-01-25 15:51:28 -05:00
network.go Decouple the "container" router from the actual daemon implementation. 2016-02-08 11:30:57 -05:00
pause.go Merge pull request #19952 from WeiZhang555/fix-err-restarting-1 2016-02-03 17:34:19 -08:00
rename.go Merge pull request #19604 from Microsoft/jjh/testrename 2016-01-26 19:03:31 -08:00
resize.go Add the possibility to log event with specific attributes 2016-01-17 12:14:01 +01:00
restart.go Rename `Daemon.Get` to `Daemon.GetContainer`. 2015-12-11 12:39:28 -05:00
selinux_linux.go Rename daemon/utils_*.go to selinux 2015-11-12 15:48:41 -08:00
selinux_unsupported.go Rename daemon/utils_*.go to selinux 2015-11-12 15:48:41 -08:00
start.go Add the possibility to log event with specific attributes 2016-01-17 12:14:01 +01:00
stats.go Move stream flushes to backend 2016-02-09 14:25:02 -05:00
stats_collector_unix.go Move Container to its own package. 2015-12-03 17:39:49 +01:00
stats_collector_windows.go Move Container to its own package. 2015-12-03 17:39:49 +01:00
stats_freebsd.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
stats_linux.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
stats_windows.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
stop.go Remove redundant error message 2016-02-03 15:45:20 +08:00
top_unix.go Fix docker top a restarting container 2016-02-02 21:05:01 -05:00
top_windows.go Modify import paths to point to the new engine-api package. 2016-01-06 19:48:59 -05:00
unpause.go Remove redundant error message 2016-02-03 15:45:20 +08:00
update.go Remove redundant error message 2016-02-03 15:45:20 +08:00
volumes.go Probe all drivers if volume driver not specified 2016-02-10 20:43:15 -05:00
volumes_unit_test.go reorder imports with goimports 2015-12-16 16:50:25 +01:00
volumes_unix.go Remove duplicated lazy volume initialization. 2016-01-13 11:22:31 -05:00
volumes_windows.go Remove duplicated lazy volume initialization. 2016-01-13 11:22:31 -05:00
wait.go Rename `Daemon.Get` to `Daemon.GetContainer`. 2015-12-11 12:39:28 -05:00

README.md

This directory contains code pertaining to running containers and storing images

Code pertaining to running containers:

  • execdriver

Code pertaining to storing images:

  • graphdriver