устаревший дескриптор файла NFS
Наш общий файловый ресурс Azure смонтирован на модулях следующим образом .
Мы видим устаревший дескриптор файла NFS для одного конкретного файла, можем ли мы каждый раз, когда мы просим нашу программу создать и записать этот файл, мы видим, что программа завершает работу, сообщая намstale NFS file handle
Но создание файла с помощью утилиты UNIXecho "hello" > the-file.txt
на смонтированном файловом ресурсе, похоже, работает.
В чем здесь проблема? Создаются все остальные файлы, кроме этого файла.
Соответствующий код находится вgolang
и это выглядит так.
...
s.csvFile, err = snowflakeFile(filePath, data)
if err != nil {
return err
}
defer s.cleanup()
...
func snowflakeFile(path string, data EventData) (*os.File, error) {
filename := fmt.Sprintf("%s-%s-%s.csv", data.Type, md5Sum(data.RemoteServer), filepath.Base(path))
filename = filepath.Join(config.Fetch("CSV_DIR"), filename)
return os.OpenFile(filename, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644)
}
func (b *base) cleanup() error {
err := b.csvFile.Close()
if err != nil {
log.Errorf("[%s] Error closing the file handler %s: %+v", b.Type, b.csvFile.Name(), err)
}
return err
}