Comments (8)
this issue is still exist in v2.3.0
from hdfs.
Huh - that certainly seems like a bug. Thanks for the report! If you have a chance to submit a test case for this behavior, that would be much appreciated.
from hdfs.
Any news on this issue?
from hdfs.
Any news on this issue?
from hdfs.
I have fixed it:
block_write_stream.go, in method makePacket
func (s *blockWriteStream) makePacket() outboundPacket {
packetLength := outboundPacketSize
if s.buf.Len() < outboundPacketSize {
packetLength = s.buf.Len()
}
// fill last chunk's margin with an individual packet
marginSize := outboundChunkSize - (int(s.offset) % outboundChunkSize)
if marginSize > 0 && packetLength > marginSize {
packetLength = marginSize
}
......
from hdfs.
@zkchen310 - thanks very much for figuring that out! Sorry for any delinquency on my part. :)
from hdfs.
hi,colinmarc:
- i check the newest code,the git version is d961456,
- but i encountered the same problem:
- when i first append,the err is "addBlock call failed with ERROR_APPLICATION (org.apache.hadoop.hdfs.server.namenode.NotReplicatedYetException)",and i append again, the err is "append call failed with ERROR_APPLICATION (org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException)"
code:
nameServer := flag.String("nameserver", "", "The HDFS Name Node Address")
user := flag.String("user", "", "The HDFS Visitor User")
hdfsPath := flag.String("hdfsPath", "", "The HDFS Which Will Write To HDFS")
createFlag := flag.String("create", "", "create file flag")
flag.Parse()
mockStr := fmt.Sprintf(time.Now().String())
client, err := hdfs.NewForUser(*nameServer, *user)
utee.Chk(err)
defer client.Close()
if *createFlag != "" {
w, err := client.Create(*hdfsPath)
if err != nil {
log.Println("CreateFile err", err)
}
_, err = w.Write([]byte(mockStr))
log.Println("write err", err)
w.Close()
return
}
w, err := client.Append(*hdfsPath)
//defer w.Close()
if err != nil {
log.Println("append err", err)
return
}
_, err = w.Write([]byte(mockStr))
log.Println("write err", err)
w.Close()
any advice? thank you!
from hdfs.
I'm facing this issue now. Can anyone give me some solution? I log my data, which flows in through a TCP connection, into the relevant file (opened in append mode) in HDFS.
I will get name
whenever a new connection is established
hdfl, err := hdcli.Append(path.Join(hfdsDir, name+".txt"))
if os.IsNotExist(err) {
log.Println("File doesnot exist, creating...")
err = hdcli.CreateEmptyFile(path.Join(hfdsDir, name+".jsonl"))
if err != nil {
log.Println("Error creating the file:", err)
}
hdfl, err = hdcli.Append(path.Join(hfdsDir, name+".jsonl"))
} else if err != nil {
log.Println("Error opening the file with append:", err)
}
defer hdfl.Close()
hdg := json.NewEncoder(hdfl)
for{
msg,err = con.Read()
if err!=nil{
return
}
hdg.Encode(msg)
hdfl.Flush()
}
from hdfs.
Related Issues (20)
- Is it thread-safe that NamenodeConnection?
- could not find "github.com/colinmarc/hdfs/v2/protocol/hadoop_common" "github.com/colinmarc/hdfs/v2/security"
- support UserGroupInformation
- EC not working properly HOT 1
- Allow setting CreateFlag when creating files
- Namenodes not been filtered by fs.defaultFS
- the dns_canonicalize_hostname value not being respected
- panic: mkdir /demo: read tcp 192.168.10.1:57318->192.168.10.102:9870: wsarecv: An established connection was aborted by the software in your host machine.
- how to do setQuota
- Empty file after CopyToRemote HOT 1
- Readme suggestion: also show memory usage advantage HOT 2
- Why the return of func Read() with a FileReader is not consistent?
- Downloading the encrypted file HOT 2
- Libhdfs.so bindings for hdfs-go? HOT 1
- hadoop3 - write: broken pipe
- An error is reported when reading a file in the HAR package
- Support of hadoop delegation tokens with HADOOP_TOKEN_FILE_LOCATION env
- no available namenodes: SASL handshake: wrong Token ID. Expected 0504, was 607d HOT 1
- How can I Remove file into Trash instead of removing files permanently?
- Walk on empty directory will return io.EOF error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hdfs.