2008-12-16 50 views
5
[hannel,192.168.0.46:40014] 15:08:03,642 - ERROR - org.jgroups.protocols.UDP - failed sending message to null (61 bytes) 
java.lang.Exception: dest=/225.1.2.46:30446 (64 bytes) 
    at org.jgroups.protocols.UDP._send(UDP.java:333) 
    at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java:283) 
    at org.jgroups.protocols.TP.doSend(TP.java:1327) 
    at org.jgroups.protocols.TP.send(TP.java:1317) 
    at org.jgroups.protocols.TP.down(TP.java:1038) 
    at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:220) 
    at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:214) 
    at org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:385) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) 
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280) 
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) 
    at java.lang.Thread.run(Thread.java:595) 
Caused by: java.io.InterruptedIOException: operation interrupted 
    at java.net.PlainDatagramSocketImpl.send(Native Method) 
    at java.net.DatagramSocket.send(DatagramSocket.java:612) 
    at org.jgroups.protocols.UDP._send(UDP.java:324) 
    ... 16 more 

Điều này xảy ra trong khi kiểm tra tải trên máy chủ. Tôi có nên lo lắng về điều đó không. Ngoài việc nhận được thông điệp đó trong nhật ký, mọi thứ dường như hoạt động OK.org.jgroups.protocols.UDP - không gửi được tin nhắn tới số

+0

mm, SO rõ ràng không được thiết kế cho stacktraces. Nó nhận được quá rộng cho màn hình của tôi :) – Jorn

+0

@Nik Tôi có cùng một vấn đề. Làm thế nào bạn giải quyết vấn đề? –

+0

@Nik: Tôi có thông báo lỗi chính xác ngay bây giờ. Bạn đã tìm thấy gì? – sixtyfootersdude

Trả lời

3

Để trả lời cho matt b, thông báo "gửi tin nhắn không thành công đến null" là gây hiểu nhầm. Vấn đề thực sự là InterruptedIOException. Điều này có nghĩa là một người nào đó gọi là ngắt() trên Chủ đề đang gửi UDP. Nhiều khả năng, ngắt được tạo ra trong JGroups. (Trừ khi bạn bắt đầu, và sau đó dừng kênh JGroups.)

Nhìn vào dấu vết ngăn xếp, I/O bị gián đoạn là từ giao thức Khám phá. Nó đang cố gắng khám phá các thành viên khác trong nhóm. Do đó, không có thông điệp nào của bạn bị mất khỏi Ngoại lệ này.

Chúng tôi sẽ phải biết nhiều hơn để thực sự tìm hiểu điều này.

0

Có thể bạn đang gặp lỗi vì bạn đang gửi thư tới "null"?

LỖI - org.jgroups.protocols.UDP - không gửi tin nhắn đến null

Nếu không điều này có lẽ là khá khó khăn cho bất cứ ai khác để giúp bạn ra ngoài với không mẫu mã, thông tin trên mạng của bạn, tình huống cụ thể nơi sự cố của bạn xảy ra, v.v.

+0

Đó không phải là nó. Đây là một phần gây hiểu lầm của khiếu nại này trong JGroups, và đó là một cá trích đỏ. Tôi đã xem xét các lỗi tương tự trước đây. – Eddie

+0

Tôi ước nó sẽ đơn giản như vậy. Cách này được thiết lập, bạn tham gia một kênh và bất kỳ tin nhắn nào được gửi đến kênh đó sẽ được nhân rộng tới tất cả các nút đã tham gia. Không có điểm đến được chỉ định trong mã. The: Gây ra bởi: java.io.InterruptedIOException: hoạt động bị gián đoạn Dẫn tôi đến nghĩ rằng có một thời gian chờ xảy ra hoặc một cái gì đó. – Nik

1

Gửi tới "null" có nghĩa là gửi tới toàn bộ cụm, so với việc gửi thư tới một thành viên. Tôi đồng ý, đây là một chút sai lầm, vì vậy tôi đã thay đổi điều này trong phiên bản sau: IIRC "null" đã được thay thế bằng "cụm" hoặc "nhóm".

"null" ở đây được gọi là đích: địa chỉ đích không có nghĩa là gửi tới toàn bộ cụm.

InterruptedIOException đến từ chuỗi người gửi bị JGroups chặn lại; điều này xảy ra cho ví dụ khi chúng ta đã có đủ đáp ứng trong giai đoạn khám phá để trả về, và do đó nhiệm vụ gửi bị dừng lại (tức là, bị gián đoạn).

Điều này cũng đã được khắc phục trong các phiên bản sau của JGroups. Bela

Các vấn đề liên quan