Skip to content

IndexingRescanner doesn't generate DELETED events for content items of moved/renamed directories #46

Open
@sungshik

Description

@sungshik

To reproduce

// Create file tree
var parent = Files.createTempDirectory("");
var child1 = Files.createDirectories(parent.resolve("from"));
var child2 = Files.createDirectories(parent.resolve("to"));

// Create directory to be moved
var directory = Files.createDirectory(child1.resolve("directory"));
Files.createFile(directory.resolve("file1.txt"));
Files.createFile(directory.resolve("file2.txt"));

// Start a watch for the whole file tree
try (var watch = Watch
        .build(parent, WatchScope.PATH_AND_ALL_DESCENDANTS)
        .onOverflow(Approximation.DIFF)
        .on(System.out::println)
        .start()) {

    // Move directory
    var source = child1.resolve(directory.getFileName());
    var target = child2.resolve(directory.getFileName());
    Files.move(source, target);

    // Wait for events
    Thread.sleep(30000);
}

System.exit(0);

Expected output

DELETED events for file1.txt and file2.txt.

Actual output

No such events:

WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, DELETED, from\directory]
WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, CREATED, to\directory]
WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, MODIFIED, to]
WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, OVERFLOW, to\directory]
WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, CREATED, to\directory\file1.txt]
WatchEvent[C:\Users\sung-\AppData\Local\Temp\16629189291729839418, CREATED, to\directory\file2.txt]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions