Jump to content
Comet Forums

deleting piece_part.bc! will make complete torrent incomplete?


Recommended Posts

HI, techguys please try this:

You ban part of the files in a torrent and download the rest,

when the task finishes 100% and hash-checks out OK 100% you delete the piece_part.bc!file within the torrent directory.

Now go back to BitComet and hash check your completed torrent again. It will revert back to something like 99.8% status..

what just happened here, will deleting the "piece_part.bc!" file damage the downloaded data?

Edited by LovesTheSun (see edit history)
Link to comment
Share on other sites

Torrent files are cut into evenly-sized pieces. These pieces do not correspond to, or respect file boundaries.

It's very unlikely that the two will correspond. This means that Piece # 13,464 will contain the last little bit of file A, and the first part of file B.

Bittorrent judges its completion, as it must, from *pieces*, not from files. The presence of that file tells BitComet which files it isn't supposed to download/check. Remove it, and BitComet is no longer judging that File A is complete, but rather that piece 13,464 is NOT.

Once upon a time, BitComet introduced a solution to this problem by including padding files that filled out piece boundaries, so that no file overlapped two pieces anymore. They were intended to be hidden by the client. Other clients could have easily adopted the practice of at least hiding the padding files, if not of creating them themselves.

Instead, it was widely rejected and hated by the torrent community, victim of the "not invented here" syndrome, with some of the dimmer lights referring to the padding files as "spam", so BitComet dropped it.

Link to comment
Share on other sites

  • 5 years later...

Sorry to be so late to the party but this doesn't really answer the whole question. I've searched and searched but can't get a definate answer:

Specifically, (like the guy asking the original question) when I download a movie, I get a finished file plus another extra file of the same name described as a piece_part (.bc!) which is usually very small. Disregarding any hash checking issue, can the the piece_part .bc! file be deleted without affecting the main movie file's ability to be saved and repeatedly used in the future. In my own tests for example, the movie appears to play just fine with or without the "piece_part" file but but does removing it actually do any damage? Once the main movie file is downloaded, hash checked and saved, is the "piece_part" file needed any more? Is there any reason to leave it in there?

Edited by Tasha2 (see edit history)
Link to comment
Share on other sites

Let's see if I understand what you're saying correctly (I've never had this happen, personally)...

You download "My Favourite Movie" and you receive, say, a 700 MB My Favourite Movie.avi file plus a 50 KB My Favourite Movie piece_part.bc! ?

can the the piece_part .bc! file be deleted without affecting the main movie file's ability to be saved and repeatedly used in the future

Do you mean, in order to share it (upload to others)? Or for some other use?

Link to comment
Share on other sites

Yes, that's what I mean. I don't want to upload to others. I simply want to save it and watch it again some day.

My current understanding of the issue is that when you download the movie file but not ALL the "sub" files, BitComet puts this file there whether you want it or not in order to facilitate the placing of the "pieces." The file (I think) tells the torrent what to include in the main download (and also the hash-check) and what not to include. I'm not clear whether the file is created if you download ALL the files in the torrent. The file (in my case) never gets finished because I'm banning most of the extra files. I just want the movie, no subs, etc.

You have to have your "Show hidden files" enabled in the browser to see it.

I think that its only there to facilitate the download and the subsequent hash-check. After that (I think) it would never be needed unless one wanted to reseed the torrent at some later date. I my case, once I've given back my 110% (seeding), I rename the file and store it on another drive. Once I rename the file, I don't think I could re-seed even if I wanted to.

So I just want to be sure that this unfinished file is like temporary file and is no longer needed.

Link to comment
Share on other sites

My current understanding of the issue is that when you download the movie file but not ALL the "sub" files, BitComet puts this file there whether you want it or not in order to facilitate the placing of the "pieces."

http://wiki.bitcomet.com/understanding_bitcomet#what_is_tasknamepiece_partbc_among_my_downloaded_files

Once I rename the file, I don't think I could re-seed even if I wanted to.

You can still seed it, but you must rename it to the original name. As long as the file is not modified (this includes metadata updates too), you can seed it without problems.

So I just want to be sure that this unfinished file is like temporary file and is no longer needed.

It is no longer needed; you can safely delete it.

Link to comment
Share on other sites

This usually happens when people disable small files in a torrent when they shouldn't be disabled because you still have to download the full piece of data that contains the small file which is then kept in the file you describe. Now if the torrent had 10 movies and you only want one of them, you'd have an actual reason to disable files and you'd get one of these "part files" to store the data that contains part of another film that you need to fully download the one you wanted and is also needed in order for you to continue to share the file with other users and to delete it could result in another member being stuck at 99% because you don't have the complete piece to share.

Link to comment
Share on other sites

Thank you for the clarification Guardian Eagle. Looks like its better to download all the files then and delete the unwanted ones when the seeding is finished.

Yes, but also remember that Long Term seeding (LTseed) also takes place which can help members revive dead torrents, so unless those small files are causing you problems, it's best to keep them there. It could make the difference between a hundred or more people stuck at 99% and all of them finishing because your client can replace the missing pieces even after the traditional seeding is complete.

It's also important to note that this is only done when your bandwidth isn't being used, so this type of LTseed won't slow your downloads or cause your connection to suffer and if a high demand is noticed, the LTseed potocol will throttle down and not resume until the connection is idle again.

Link to comment
Share on other sites

  • 2 weeks later...

Thanks again for your observations.

OK, I can see LT seeding taking place but how can I tell which torrent(s) is actually being shared (in Version: 1.37)? Is there a way to add another info column in the task list, for example, to show only an LT seeding level? Apparently there was such an option in a previous version called CometID. At the moment, I would have to keep checking each torrent's Ratio reading for changes to figure this out and that would be quite time-consuming.

I've tried changing "system.show.debug info" etc in Options but it makes no difference.

What exactly triggers a request to my computer for LT seeding and what's to stop it seeding for ever - other than removing the task or shutting off Global LT seeding altogether?

I was under the impression that LT seeding was used for "older" torrents but I see LT activity taking place on a torrent I got only yesterday. Is this perhaps because seeding is very poor on that particular torrent and if so, what defines "poor."

Also, how can I tell whether I'm receiving any benefit from LT seeding myself (from other peers) when I'm downloading a torrent?

Link to comment
Share on other sites

LT Seed is a p2p feature of BitComet. By default, every task kept at seeding is automatically shared through LT to other BitComet clients. You can control the LT globally (from settings) or particulary for each torrent (right click on task > Properties).

As far as I know, the more points you have on your CometID account, the more LT Seeds you are allowed to connect to.

Edited by GandalfTheWizard (see edit history)
Link to comment
Share on other sites

I understand your confusion, although it's one of the greatest inventions and a spectacular success, it was launched with little or no documentation and no warning to even our forum staff, so it was misunderstood by most users. It helps you during download and in most cases you wouldn't even know it because it works so well, but in some cases you could try to download atorrent with another client and find a dozen or so users stuck at 50%, but along you come with bitcomet, it realizes the problem and our database shows the missing parts are common and available in other torrents, so it grabs them from LTseed peers who may never have downloaded that specific torrent, then suddenly your download completes and you begin seeding to other peers using less advanced cleints and they just assume someone decided to start seeding. All they know is the torrent was dead and now it's alive, and all you know is the torrent downloaded fine with no problems and the hero (LTseed) never get's the credit he deserves. In other cases it will help speed up your downloads if the existing peers are slow by finding you LTseed connections to get some or all of the data.

Sometimes it's success can be limited when people discard small files like .nfo or .txt files, even if no one wants those files they are needed for a torrent to pass hash check so it's best to always download them and don't delete them as long as the task is in your client, and it's wise to keep the tasks in bitcomet because sharing is what bitcomet is all about and this is the perfect way to share and best of all LTseed only works when your connection is idle, if you need the bandwidth, it will throttle down, if your connection is relatively idle, then LTseed will kickin and allow bitcomet to share some rare data you may have.

It was never designed to be a "show off", so monitoring it as it works isn't easy, but if you're an internet protocol expert you can observe it using connection monitoring software, or you can get some info from the GUI, but it was really designed to do it's thing without the enduser even realizing and all he knows is bitcomet works great. Admittedly many of us would like some bragging going on to prove to people when it works, like a log that shows while you were sleeping bitcomet was able to save 5 torrents and assist 20 downloads, but the developers weren't concerned with bragging rights, just building a system that could effectively bridge the gulf between protocols and solve lots of problems that torrent users face.

  • Like 1
Link to comment
Share on other sites

Also, the LT system is 10 times much faster that tracker scraping or DHT.

In my case (and not just in mine one), from the moment I add a torrent, it simply starts downloading with like 5MB/s, and the trackers didn't even return peers. The reason? I was already connected to 3 LT Seeds :P

Link to comment
Share on other sites

Thanks again for all that info Unusual Suspect.

Very interesting note GandalfTheWizard. How do you know that you are already connected to 3 LT seeds? Do you have some sort of monitoring software? Wish I had your download speeds. I'm lucky if I sometimes get 2MB.

Link to comment
Share on other sites

Sorry, poor choice of words in my previous #17. Please bear with me. I just have to get this straight:

For example, right now I'm LT seeding somebody @ 106KB/s. It shows in my bottom Windows task area, the top Download/Upload info bar at the top of the BC page and in the LT Seeding portion of the "Overall Upload Rate" line of the BC Statistics page. All of my tasks - including the one which is actually seeding - show stopped and there is no activity in any info column (including all Upload columns).

The only way that I can tell (that I know of) which task is doing the seeding is to check for changes in the share ratio for each torrent. This. I'm told is normal.

I assume that whomever is receiving this data can see that it comes from my IP# but, as I understand it, he will have no way of knowing whether its coming from my computer via the normal everyday torrent protocol or via LTSeed.

So, how can you tell when you start to download a torrent on your computer that those 5MB are coming from 3 LTSeeds and not from ordinary peers in the usual way? You say the tracker had not returned any peers (yet) so are there no peers in the Peers column at this point? I must be missing something. I'd be grateful if you could sort this out for me.

Link to comment
Share on other sites

So, how can you tell when you start to download a torrent on your computer that those 5MB are coming from 3 LTSeeds and not from ordinary peers in the usual way? You say the tracker had not returned any peers (yet) so are there no peers in the Peers column at this point? I must be missing something. I'd be grateful if you could sort this out for me.

BitComet supports and shows four types of peers according to their availability:

• Normal peers ---> bt: normal peers returned from tracker or DHT

• Long Term Seed peers ---> p2sp: LT Seeds returned from BitComet

• Web Seed ---> these are web sources specified mostly within the torrent. It allows BitComet to download from the internet, not just from peers.

• E-Mule Sources ---> allows BitComet to download from a client called E-Mule; you need a plugin and an ED2K link per file for this to work out.

Right now, we only deal with the first two of them. When you download, the LT Seeds are shown at first. Like in this screenshot.

They are not returned from tracker nor from DHT. They are returned from BitComet's servers (and I guess this is the answer you were looking for).

comet_2.png

Edited by GandalfTheWizard (see edit history)
Link to comment
Share on other sites

Please note that not all torrents will have LTseed peers. There must be active or past BitComet peers online at the time and they must have LTseed enabled. The torrent must also not have the private flag set in order to use any non BT sources. As you can see in the screenshot posted above we have what appears to be a weak torrent without a lot of good BT peers, so bitcomet is doing it's job to increase the speed using LT seed sources. You must be paying attention to catch this and witness it in real time as the GUI wasn't designed to bring it to your attention, but the really impressive times are when you see all the BT peers stuck at the same level, then watch BitComet download and complete the task from LTseed peers and finally you'll begin seeding to the rest of the peers and they will all complete the torrent too, but sadly not one of them will even know that they have BitComet to thank for them finishing the task, and best of all, the LTseeds may never have downloaded that specific torrent, they could have gotten the exact same files from a different torrent, emule, or web download. This cross-protocol downloading was once deemed impossible by most, but we have some very creative developers and they have made what is arguably the most advanced client in the world and in my opinion, if the rest of the international community understood this, bitcomet would be the most popular torrent client in the world.

Link to comment
Share on other sites

Aha!

The mystery is solved. This morning I tried another download and the "p2sp_connected" heading appeared with one LT Seed showing below - so its working as you describe (and as in GTW's screen shot). This is the first time the system has shown an LT Seed during a download and I don't recall ever seeing the "p2sp_connected" heading before. (Bearing in mind that I've had LT Seeding shut off until recently because it appeared to me to be a complicated option to burn up resources with little to no benefit).

Truly amazing. As you say, if this feature was widely understood, BC would be the most popular.

Many thanks to you both for your time and patience. I will now leave LT Seeding turned on and leave all downloads complete with their sub-files in my dedicated download HDD until the drive is almost full.

Now if there was a simple way to tell which of the finished torrents are LT seeding (when they are active), that would be icing on the cake.

Link to comment
Share on other sites

  • 11 months later...

Keep in mind that some of the least active torrents can be best helped by LTseed. Imagine if a torrent had a dozen peers and no seeds so no one was able to download, then a bitcomet peer comes along and connects to a LTseed peer and downloads the full contents, he then uploads to the rest of the non-bitcomet peers so they are no longer stuck. 

The sad part is they leave having no idea why the torrent suddenly came back to life and continue (out of ignorance) not using or liking BitComet.

I also agree, if this and the padding files wee understood by all, bitcomet would be the most popular client and others would have to adapt this technology.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...